子類構造方法的調用規則:
- 如果子類的構造方法中沒有通過 super 顯式調用父類的有參構造方法,也沒有通過 this 顯式調用自身的其他構造方法,則系統會默認先調用父類的無參構造方法。這種情況下,寫不寫 super(); 語句,效果是一樣的
- 如果子類的構造方法中通過 super 顯式調用父類的有參構造方法,將執行父類相應的構造方法,不執行父類無參構造方法
- 如果子類的構造方法中通過 this 顯式調用自身的其他構造方法,將執行類中相應的構造方法
- 如果存在多級繼承關系,在創建一個子類對象時,以上規則會多次向更高一級父類應用,一直到執行頂級父類 Object 類的無參構造方法為止
