一 super呼叫父類構造器
二 構造器呼叫順序示例
1 **示例
2 執行結果class creature
}class animal extends creature
public animal(string name , int age) }
public class wolf extends animal
public static void main(string args)
}
creature無引數的構造器
animal帶乙個引數的構造器,該動物的name為大灰狼
animal帶兩個引數的構造器,其age為3
wolf無引數的構造器
3 結果分析
從執行結果來看,建立任何物件總是從該類所在繼承樹最頂層的構造器開始執行,然後依次向下執行,最後才執行本類的構造器,如果其個父類通過this呼叫同類中的構造器,就會依次執行父類的多個構造器。
關於為何子類的構造器必須呼叫父類的構造器一次的解答
一 個 空 的 構 造 函 數 看 起 來 雖 然 啥 也 沒 幹 其 實 oop的 編 繹 器 是 從 這 裡 開 始 動 工 建 造 我 們 寫 好 的 類 中 的 信 息 子 類 是 繼 成 父 類 的 子 類 就 會 包 抱 父 類 的 信 息 在 構 造 一 個 子 類 時 父 類 中 的...
子類與父類構造函式呼叫順序
子類的析構函式的呼叫順序,和子類的建構函式的呼叫順序相反!記住,相反即可。include include using namespace std classm m classn n classa a classb public a b private m m1 m m2 static n ms n ...
Swift子類構造方法呼叫父類構造方法
swift 中子類init呼叫父類的init方法必須寫在最後。如下例項 子類chemistry中init構造方法呼叫父類的init方法完成屬性初始化,呼叫的父類init方法super.init physics physics 必須寫在方法最後一句,否則報錯 class subjects func u...