因為在建立子類物件時:先執行子類的構造方法,子類的構造方法裡會先呼叫父類的構造方法,在子類的構造方法中呼叫父類的構造方法是用super(),如果沒有寫super(),則預設呼叫父類的無參構造方法,前提是父類定義了無參構造方法,如果沒有則編譯報錯。
注:super()必須寫在子類構造方法中的第一行
子類在繼承父類時,如果沒有相同的帶參構造方法,那麼就需要在其構造方法中明確的通過super()呼叫父類的帶參構造方法,否構造不出父類,從而也構造不出子類。
總結:在父類中寫個無參構造方法,其子類的構造方法中即使沒有呼叫super()方法,編譯也能通過。
子類建構函式會預設呼叫父類無參建構函式
1.呼叫父類無參建構函式是預設的!子類的構造方法預設都去訪問了父類的無參構造方法 在子類中的構造方法後都有一行預設語句 base 12 3456 78910 1112 1314 15class fu class zi fu zi z new zi 先執行父類的建構函式把父類初始化完成,再初始化子類的...
在子類中顯示的呼叫父類的有參建構函式的方法
構造方法用來初始化類的物件,與父類的其它成員不同,它不能被子類繼承 子類可以繼承父類所有的成員變數和成員方法,但不繼承父類的構造方法 因此,在建立子類物件時,為了初始化從父類繼承來的資料成員,系統需要呼叫其父類的構造方法。如果沒有顯式的建構函式,編譯器會給乙個預設的建構函式,並且該預設的建構函式僅僅...
Java類(無參 有參構造方法 靜態變數)
初始化成員變數的1.構造方法 沒有返回值 甚至不寫返回值的型別 2.構造方法的方法名 與類名 相同 關鍵字 構造方法名 public class cat 獲取貓名 public string getname 修改貓名 public void setname string name 獲取顏色 publ...