子類變量創建子類對象時,有存在先調用子類構造函數,后調用父類構造函數的可能嗎?
1 回答

繁花不似錦
TA貢獻1851條經驗 獲得超4個贊
你不要把這個和初始化順序混淆了,理論上是先父類構造方法,但是調用哪一個呢,要根據子類你實例化的子類構造器的第一行代碼是否是super或者super(...),如果是就先執行指定的父類構造方法,否則就執行父類的默認構造方法。
其實實際順序是先進入子類的構造方法,通過子類構造方法第一行代碼是否是super去執行父類構造方法(這就是子類構造方法中的super()必須在第一行的原因),然后再執行子類構造方法中的代碼
添加回答
舉報
0/150
提交
取消