子父類中的建構函式

2021-07-08 18:57:57 字數 435 閱讀 1708

egclass fu

}class zi extends fu

}class extendsdemo3

}列印結果為:fu show; zi show;

為什麼呢?

因為在子類建構函式的第一行,有乙個隱式的語句:super();

這句話是用於呼叫父類中那個空引數的建構函式,如果父類中只有空引數的建構函式就呼叫那個,如果沒有建構函式,也會呼叫系統預設的加上的空引數建構函式,只是這個不會有任何的顯示內容

當父類中的建構函式全非空時,那麼一定要在第一行手動的加入這個呼叫,即super(引數列表)或者this語句來訪問父類中的指定建構函式

為什麼要加在第一行呢?因為初始化要最先完成,如果放在後面,先執行子類的初始化,如果父類也做了初始化動作,那麼會把子類的初始化覆蓋,就沒有任何意義了

總之,就是在子類中一定要訪問父類中的建構函式

子父類中建構函式的特點

子父類中的建構函式 在對子類物件進行初始化時,父類的建構函式也會執行,那是因為子類的建構函式預設第一行有一條隱式的語句 super super 會訪問父類中空引數的建構函式,而且子類中所有的建構函式預設第一行都是super 為什麼子類一定要訪問父類中的建構函式?因為父類中的資料子類可以直接獲取,所以...

子父類中建構函式的特點

子父類中建構函式的特點 在子類構造物件時,發現訪問子類建構函式時,父類建構函式也執行了.為什麼呢?原因是 在子類的建構函式中第一行有乙個預設的隱式語句.super 子類的例項化過程 子類中所有的建構函式都會預設訪問父類中的空引數的建構函式.為什麼子類例項化的時候要訪問父類中的建構函式呢?那是因為子類...

子父類中的建構函式的特點

在子類建立乙個物件時,訪問子類的建構函式時,父類的建構函式也執行了,這是為什麼?因為在子類的構造器裡第一行有一條隱式語句,super 呼叫的就是父類中無參的建構函式 注意這裡預設是無參的建構函式,如果有引數可以自己指定 還有一點建構函式不能被覆蓋 重寫 可以在本類中過載.建構函式不能被繼承過來,是用...