在閱讀了「你好,Android」的書,我注意到:public onCreate()或protected onCreate()?
與
onCreate(Bundle savedInstanceState)
方法每個Java文件,具有 保護訪問修飾符除了在節目的主要活動[有:public void onCreate(Bundle savedInstanceState)
] 。
爲什麼上節目的主要活動的onCreate
方法public
,但protected
其他地方?
在閱讀了「你好,Android」的書,我注意到:public onCreate()或protected onCreate()?
與
onCreate(Bundle savedInstanceState)
方法每個Java文件,具有 保護訪問修飾符除了在節目的主要活動[有:public void onCreate(Bundle savedInstanceState)
] 。
爲什麼上節目的主要活動的onCreate
方法public
,但protected
其他地方?
它也可以是protected
。這沒有什麼重要或明智的。
您可以更改方法的可見性。什麼,你不能做的是:減少可見性(使公共方法私有),訪問私有方法(使它公衆)
的onCeate()被保護,以避免從活動對象的它調用。
MyActivity activity = new MyActivity();
activity.onCreate(args); // which doesn't make sense because activity is not yet created
活動以來被創建時,此方法只調用,稱這是自己最有可能會給你一個NullPointerException異常因爲尚未創建活動。 S/O Post
沒有理由將該方法公開(但這樣做不會影響任何內容)。無論如何您都不應該手動調用它。
順便說一句Intellij IDEA有活動模板公開onCreate
。這可能是該方法在本書中公開的原因。
您可以在所有活動中使用** public **訪問修飾符.... –
您能告訴我們該程序做了什麼嗎? –
感謝您的快速回復。 – Soroor