1. 程式人生 > >Java構造器 繼承問題(子類是否必須實現父類的有參建構函式)

Java構造器 繼承問題(子類是否必須實現父類的有參建構函式)

首先,答案是否定的,但是 如果你在父類中寫了一個有參建構函式,但是沒有宣告無參建構函式,就有問題。

(這裡補充一下,我們都知道,當我們不寫有參建構函式的時候,系統會自動生成一個無參建構函式,而且每個類的建立都依賴建構函式,子類的建構函式依賴父類的建構函式,這牽扯到一個隱式傳遞super和this的問題 不多贅述)

,因為你在父類中只有有參建構函式,沒有無參建構函式,但是子類如果不寫建構函式,系統預設建立一個無參建構函式,子類這個無參的建構函式就會去呼叫父類的無參建構函式,時候就出錯了。

結論:父類  僅僅聲明瞭有參建構函式,沒有自己宣告無參建構函式,則子類必須重寫 父類建構函式

父類 有無參建構函式,則子類不必重寫父類建構函式。