物件導向 子父類中建構函式的特點 子類例項化過程

2021-07-27 10:57:10 字數 880 閱讀 7483

/*

3、子父類中的建構函式。

在對子類物件進行初始化時,父類的建構函式也會執行。

那是因為子類的建構函式預設第一行有一條隱式的語句 super();

super():會訪問父類中空引數的建構函式。而且子類中所有的建構函式預設第一行都是super()。

為什麼子類一定要訪問父類中的建構函式。

因為父類中的資料子類可以直接獲取,所以子類物件在建立時,需要先檢視父類是如何對這些資料進行初始化的。

所以子類在物件初始化時,先訪問一下父類中的建構函式。

如果要訪問父類中指定的建構函式,可以通過手動定義super語句的方式來指定。

注意:super語句一定定義在子類建構函式的第一行。

子類的例項化過程

結論:子類的所有的建構函式,預設都會訪問父類中空引數的建構函式。

因為子類每乙個建構函式內的第一行都有一句隱藏的super()

當父類中沒有空引數的建構函式時,子類必須手動通過super或者this語句形式

來指定要訪問父類中的建構函式。

當然:子類的建構函式第一行也可以手動指定this語句來訪問本類中的

建構函式。子類中至少會有乙個建構函式會訪問父類中的建構函式。

*/class fu//extends object

//不會預設訪問到下面的非空引數的建構函式。

fu(int x)

}class zi extends fu

zi(int x)

}class extendsdemo4

}class person

void show()

}class student extends person

void method()

}

物件導向 子父類中的函式特點(覆蓋)

子父類中函式。當子類出現和父類一模一樣的函式時,子類物件呼叫該函式,會執行子類函式的內容。父類的函式被覆蓋。這種情況是函式的另乙個特性 重寫 覆蓋 當子類繼承父類,沿襲父類的功能,到子類中,但是子類雖具備該功能,功能的內容卻和父類不一致,沒有必要定義新功能,而是使用覆蓋特殊,保留父類的功能定義,並重...

子父類中建構函式的特點

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

子父類中建構函式的特點

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