为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不在定义这些按钮的时候直接初始化呢?

比如在定义btn_0的时候,为什么老师不直接初始化:

Button btn_0 = (Button)findViewById(R.id.btn_0);

而是只定义,不赋值,到onCreate方法中才赋值呢?

正在回答

4 回答

我觉得跟这一句有关

setContentView(R.layout.activity_main);


0 回复 有任何疑惑可以回复我~

亲测,必须把初始化放到后面,不然会死掉。


0 回复 有任何疑惑可以回复我~

貌似是这个原因:这种直接赋值的方法适用于那些被认为不可变的成员,例如常量。如果一个经常改变的的成员使用了这种方式进行赋值,在类被继承后,使用者可能无法预知此变量的初值,而错误使用了,导致程序发生错误。 例如,程序员在使用继承下来的变量price时,大意忘记了初始化price变量,而使用了在父类中的直接赋值。最终导致无法预知的错误。对于final和static变量,可以节约内存。

来源:https://blog.csdn.net/sharponeyk/article/details/50365462

0 回复 有任何疑惑可以回复我~

我觉得你开心也行

0 回复 有任何疑惑可以回复我~
#1

子卿_ 提问者

噗~~~
2018-03-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第一门课(入门篇)
  • 参与学习       312585    人
  • 解答问题       4633    个

想快速掌握Android应用开发基础,选择学习这门课程就对了。

进入课程

为什么不在定义这些按钮的时候直接初始化呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信