就是Java入門第二季里面,父類創建了一個普通方法,子類重寫此方法,在測試類中只創建子類對象,并調用此方法,輸出的就只有子類重寫的普通方法。? 但是如果父類創建了一個構造方法,子類重寫此構造方法,在測試類中同樣只創建子類對象,并調用此方法,輸出的既有子類重寫的構造方法,又有父類本身的構造方法。這是為什么呢?
2 回答

天啟之魂
TA貢獻174條經驗 獲得超85個贊
構造函數是不能繼承的 所以也就不存在覆蓋
子類創建對象時,會運行子類的構造方法,但是在子類構造方法的第一行會默認調用父類的無參構造方法(你寫不寫,系統都會給你加上),除非你指定調用父類的其他構造方法,所以你在創建子類對象時,第一個運行的是子類構造方法,然后在第一行調用父類構造方法,等父類構造方法執行完后,再繼續執行子類的構造方法
添加回答
舉報
0/150
提交
取消