Java 錯誤:預設建構子未定義隱式超級建構子
問題:子類別和抽象基底類別的預設建構函式錯誤
Java 開發人員遇到錯誤「Implicit super預設建構函數的建構子 BaseClass() 未定義。他們想知道是否可以在仍然遵守模板方法模式的情況下刪除建構函式。
A:建構與預設建構子
出現錯誤是因為基底類別( BaseClass) 宣告一個建構子(public BaseClass(String someString)),停用預設建構函數(不帶參數)。當從子類別 (ACSubClass) 中刪除建構函式時,編譯器會透過預設建構函式插入對基底類別 (super()) 的無參構造函數的隱式呼叫。由於 BaseClass 沒有無參構造函數,因此這是非法的。
可能的解決方案:
但是,如果基底類別需要建構子參數,這些解可能不可行。
此外,請考慮重構設計:
以上是Java 隱式超級建構子錯誤:如何修復「隱式超級建構子...預設建構子未定義」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!