-1
A
回答
2
你是對的。根據定義,缺省構造函數是在未定義構造函數時創建的。由於A
沒有定義構造函數,因此會爲其創建一個默認構造函數。
從技術上講,你可以說B
有一個默認的構造函數,因爲如果沒有定義沒有參數的構造函數就會創建。
參考:http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.8.9
0
精確。
類A
有一個默認的構造函數,因爲您沒有爲該類提供任何構造函數。因此,編譯器會自動提供一個無參數的默認構造函數。這個默認構造函數將調用超類的無參構造函數(在這種情況下是Object類)。第二類,B
,提供了一個無參數的構造函數,但它不是默認的,因爲編譯器沒有爲你提供它。
相關問題
- 1. 類默認構造函數
- 2. @Delegate類沒有默認構造函數
- 3. 具有默認構造函數和具有私有構造函數差異的類的抽象類
- 4. IXmlSerializable類型'System.Xml.Linq.XElement'必須具有默認構造函數
- 5. 具有所有類屬性的構造函數或具有setter的默認構造函數?
- 6. Python類構造函數默認參數
- 7. 默認構造函數與正常構造函數的類C++
- 8. 非默認構造函數的類
- 9. 默認構造函數
- 10. 非默認構造函數
- 11. C++,默認構造函數
- 12. constexpr默認構造函數
- 13. 非默認構造函數
- 14. 沒有適當的默認構造函數可用 - 默認構造函數調用的地方在哪裏?
- 15. DatabaseManager沒有默認構造函數
- 16. 沒有默認構造函數發現
- 17. 「RavenReader.Web.Controllers.UserController」沒有默認的構造函數
- 18. System.Configuration.Cast沒有默認的構造函數
- 19. 沒有默認的構造函數
- 20. 成員沒有默認構造函數
- 21. 沒有默認構造函數 - 繼承
- 22. 具有私有輔助功能的默認構造函數
- 23. 類具有的std ::對象的數組,但沒有默認構造函數
- 24. 爲什麼默認構造函數在父類中是必需的,如果它具有參數構造函數?
- 25. 爲什麼Java不提供默認構造函數,如果類具有參數化構造函數?
- 26. 一些有關的默認構造函數我不明白
- 27. 從類繼承的類沒有默認的構造函數
- 28. 生成沒有默認構造函數的類的子類
- 29. 具有未知類型屬性的模板類中的默認構造函數
- 30. C++一個類的默認構造函數調用另一個類的另一個默認構造函數
你爲什麼這麼想? – SLaks
[Java默認構造函數]的可能重複(http://stackoverflow.com/questions/4488716/java-default-constructor) – MWiesner