亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么不在定義這些按鈕的時候直接初始化呢?

比如在定義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攻城獅的第一門課(入門篇)
  • 參與學習       312506    人
  • 解答問題       4931    個

想快速掌握Android應用開發基礎,選擇學習這門課程就對了。

進入課程

為什么不在定義這些按鈕的時候直接初始化呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號