繼承條件下構造方法的呼叫規則

2021-07-28 13:09:08 字數 324 閱讀 6175

(1)如果子類的構造方法中沒有通過super顯式呼叫父類的有參構造方法,也沒有通過this顯式呼叫自身的其他構造方法,則系統會預設先呼叫父類的無參構造方法。在這種情況下,寫不寫「super();」語句,效果是一樣的;

(2)如果子類的構造方法中通過super顯式呼叫父類的有參構造方法,那將執行父類相應構造方法,而不執行父類無參構造方法;

(3)如果子類的構造方法中通過this顯式呼叫自身的其他構造方法,在相應構造方法中應用以上兩條規則;

(4)特別注意的是,如果存在多級繼承關係,在建立乙個子類物件時,以上規則會多次向更高一級父類應用,一直到執行頂級父類object類的無參構造方法為止;

繼承條件下構造方法的呼叫規則

1 如果子類的構造方法中沒有通過super顯式呼叫父類的有參構造方法,也沒有通過this顯式呼叫自身的其他構造方法,則系統會預設先呼叫父類的無參構造方法。在這種情況下,有沒有 super 語句,效果都是一樣的。2 如果子類的構造方法中通過super顯式呼叫父類的有參構造方法 則將執行父類相應的構造方...

繼承環境下的構造方法呼叫

我們都知道如果初始化乙個子類,一定會先初始化父類,即呼叫父類的構造方法,再呼叫子類的構造方法,但是如果父類有很多的構造方法,那麼呼叫哪乙個呢?看下面的例子 package io public class constructortest class a public a int i class b e...

Java構造方法的繼承呼叫

1.對於父類含有引數建構函式的方法,子類可以通過在自己構造方法中使用super關鍵字來呼叫,但是super必須是第乙個可執行語句 2.父類無參建構函式一定被呼叫 class father public father int x public void sub 1 public class son e...