為什么子類構造方法中既沒有顯式調用父類的構造方法,而父類又沒有無參的構造方法的時候會編譯出錯呢?這是什么原因呢?難道子類中當父類沒有無參的構造方法時就不能夠使用無參的構造方法了嗎?求解
3 回答
已采納

JustWannaHugU
TA貢獻452條經驗 獲得超796個贊
沒有給類寫構造函數時,系統默認有個無參的構造函數;
1、一旦你手動寫了構造函數,就會覆蓋默認的構造函數;(JVM不會在創建默認的了)
2、當主動寫帶參數的構造函數時,最后寫個無參的構造函數,避免有時不想調有參構造函數時,可以調用無參的。
子類中當父類沒有無參的構造方法時就不能夠使用無參的構造方法
因為每個對象在構造成功以前,都必須先構造其父類
你報錯的原因,是因為你在子類構造方法中沒有調用了父類有參的構造方法,而編譯器發現,父類中也沒有無參的構造方法,找不到你那個對應的構造方法了,所以它認為你的父類對象構造失敗
類被繼承的時候,如果你沒有特定的super調用父類的帶參構造方法時,系統會首先調用父類的無參構造方法
如果你在父類中沒有寫無參構造方法,那么在子類的構造方法中必須顯示的調用父類中的有參數的構造方法(寫在第一句)。
方便請采納!
添加回答
舉報
0/150
提交
取消