子父類中建構函式的特點

2021-07-25 16:46:05 字數 799 閱讀 8710

/*

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

在子類構造物件時,發現訪問子類建構函式時,父類建構函式也執行了.

為什麼呢?

原因是:在子類的建構函式中第一行有乙個預設的隱式語句. super()

子類的例項化過程:子類中所有的建構函式都會預設訪問父類中的空引數的建構函式.

為什麼子類例項化的時候要訪問父類中的建構函式呢?

那是因為子類繼承了父類,獲取到了父類中的內容(屬性),所以在使用父類內容之前,

要看父類是如何對自己的內容進行初始化的.所以子類在構造物件是,必須訪問父類中的建構函式.

為了完成這個必須的動作,就在子類的建構函式中加入了 super() 語句.

如果父類中沒有定義空引數的建構函式,那麼子類的建構函式就必須明確用 super() 呼叫父類中的

哪個建構函式.同時子類建構函式中如果使用 this() 呼叫了本類建構函式時,那麼 super() 就沒有了.

因為 super() 和 this() 都只能定義在第一行,只能有乙個.但是可以保證的是,子類中肯定會有其他

建構函式訪問父類中的建構函式.

注意,super 語句必修要定義在子類建構函式的第一行,因為父類的初始化動作要先執行.

*/public

class extendsdemo4

}class

fu_2

fu_2(int x)

}class

zi_2

extends

fu_2

zi_2(int x)

}

子父類中建構函式的特點

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

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

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

子父類中的建構函式

egclass fu class zi extends fu class extendsdemo3 列印結果為 fu show zi show 為什麼呢?因為在子類建構函式的第一行,有乙個隱式的語句 super 這句話是用於呼叫父類中那個空引數的建構函式,如果父類中只有空引數的建構函式就呼叫那個,如...