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

来源:21-4 实例化控件

子卿_

2018-03-28 18:13

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

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

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

写回答 关注

4回答

  • 不忘初心__
    2018-07-04 18:28:16

    我觉得跟这一句有关

    setContentView(R.layout.activity_main);


  • 子卿_
    2018-03-31 22:34:40

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


  • 子卿_
    2018-03-30 19:52:30

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

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

  • I_love_work
    2018-03-30 18:52:53

    我觉得你开心也行

    子卿_

    噗~~~

    2018-03-30 19:48:56

    共 1 条回复 >

Android攻城狮的第一门课(入门篇)

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

312490 学习 · 4931 问题

查看课程