子類實例化過程 必然遵循:父類靜態初始化 → 父類實例初始化 → 父類構造器 → 子類靜態初始化 → 子類實例初始化 → 子類構造器 的順序。兩種調用方式差別僅在於「調用哪個父類構造器」。
| 場景 | 代碼 | 父類構造器調用 |
|---|---|---|
| 無參構造器 | new Student() | 隱式調用 super() (父類無參構造器) |
| 有參構造器 | new Student("二哈", 10) | 顯式調用 super(name, age) (父類有參構造器) |
private String name = "default")super(name, age) 及自身邏輯在每個關鍵位置加入 System.out.println("標識"),觀察控制台輸出順序即可直觀理解。
super(...) 傳參。