課程
/移動開發
/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應用開發基礎,選擇學習這門課程就對了。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-07-04
我覺得跟這一句有關
2018-03-31
親測,必須把初始化放到后面,不然會死掉。
2018-03-30
貌似是這個原因:這種直接賦值的方法適用于那些被認為不可變的成員,例如常量。如果一個經常改變的的成員使用了這種方式進行賦值,在類被繼承后,使用者可能無法預知此變量的初值,而錯誤使用了,導致程序發生錯誤。 例如,程序員在使用繼承下來的變量price時,大意忘記了初始化price變量,而使用了在父類中的直接賦值。最終導致無法預知的錯誤。對于final和static變量,可以節約內存。
來源:https://blog.csdn.net/sharponeyk/article/details/50365462
2018-03-30
我覺得你開心也行