如果我有一個類,比方說,從DialogFragment擴展並定義它的自定義構造函數,爲什麼我應該定義一個默認的類?如果發生運行時更改,我不會收到錯誤消息。爲什麼我需要定義自定義構造函數?
0
A
回答
3
我懷疑的問題是,在Java中,除非你指定一個自己編譯器爲您創建參數的構造函數。如果Android中的某些內容需要無參數的構造函數,那麼或者您都不需要自己聲明任何構造函數或您需要顯式聲明無參數構造函數。
與Java語言規範的section 8.8.9:
如果一個類不包含任何構造函數聲明,則將自動提供一個默認的構造函數不帶參數:
- 如果所聲明的類原始類Object,那麼默認的構造函數有一個空的體。
- 否則,默認構造函數不接受任何參數,只調用沒有參數的超類構造函數。
這是否使事情清楚?我不太瞭解Android知道爲什麼需要無參數構造函數,但大概是這樣的,可以通過反射創建實例,而無需爲構造函數參數指定任何參數。
0
構造函數可能包含在創建對象時運行的代碼。它有點像你想要完成的設置代碼,所以對象已經準備好了它應該做的事情。
相關問題
- 1. 爲什麼構造函數未定義?
- 2. 爲什麼我不能將Symbol定義爲構造函數?
- 3. 爲什麼使用Activator.CreateInstance時需要定義無參數構造函數?
- 4. 爲什麼用戶定義的析構函數的插入需要一個用戶定義的複製構造
- 5. 構造函數和onFinishInflate都不需要自定義視圖
- 6. C++需要幫助使用自定義構造函數
- 7. 爲什麼要將Reader的構造函數參數定義爲函數?
- 8. 使用@Autowired時,我需要定義一個構造函數嗎?
- 9. 爲什麼JAVA需要構造函數?
- 10. xib文件和自定義構造函數的自定義UITableViewCell
- 11. 構造函數未定義
- 12. 定義構造函數NEWTYPE
- 13. AutoMapper TypeConverter自定義構造函數
- 14. Luabind中的自定義構造函數
- 15. 自定義構造函數和phpspec
- 16. Backbone.js自定義構造函數?
- 17. 爲什麼在函數中本地定義的結構需要賦值運算符和拷貝構造函數
- 18. 爲什麼說構造函數是未定義的?
- 19. 爲什麼原型未定義從構造函數返回?
- 20. 爲什麼不允許構造函數被重新定義?
- 21. 爲什麼MediaPlayer構造函數是未定義的?
- 22. 爲什麼值或構造函數'處理程序'未定義?
- 23. 構造函數在自定義適配器中未定義
- 24. 爲什麼默認構造函數和自定義構造函數是爲UINavigaionController的子類調用的?
- 25. 我需要自定義tabBar
- 26. 使用自定義構造函數作爲模板函數
- 27. 複製構造函數需要用互斥量明確定義
- 28. 在scala中構造函數定義語法需要說明
- 29. 爲什麼我的函數未定義?
- 30. 爲什麼需要browserify`paths`定義?
你可以重新說一句,所以它更清楚一點嗎? – vickirk