课程
/移动开发
/Android
/Android攻城狮的第一门课(入门篇)
比如在定义btn_0的时候,为什么老师不直接初始化:
Button btn_0 = (Button)findViewById(R.id.btn_0);
而是只定义,不赋值,到onCreate方法中才赋值呢?
2018-03-28
源自:Android攻城狮的第一门课(入门篇) 21-4
正在回答
我觉得跟这一句有关
setContentView(R.layout.activity_main);
亲测,必须把初始化放到后面,不然会死掉。
貌似是这个原因:这种直接赋值的方法适用于那些被认为不可变的成员,例如常量。如果一个经常改变的的成员使用了这种方式进行赋值,在类被继承后,使用者可能无法预知此变量的初值,而错误使用了,导致程序发生错误。 例如,程序员在使用继承下来的变量price时,大意忘记了初始化price变量,而使用了在父类中的直接赋值。最终导致无法预知的错误。对于final和static变量,可以节约内存。
来源:https://blog.csdn.net/sharponeyk/article/details/50365462
我觉得你开心也行
子卿_ 提问者
举报
想快速掌握Android应用开发基础,选择学习这门课程就对了。