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

2021-08-17 03:37:49 字數 759 閱讀 2824

子父類中的建構函式

在對子類物件進行初始化時,父類的建構函式也會執行,因為子類的建構函式預設第一行有一條隱式的語句super();

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

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

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

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

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

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

子類的例項化過程:

結論:子類所有的建構函式,預設都會訪問父類中空引數的建構函式,因為每乙個建構函式內的第一行都有一句隱式的super();

當父類中沒有空引數的建構函式時,子類必須手動通過super語句來訪問本類中的建構函式。

子類的建構函式第一行也可以手動指定this語句來訪問本類中的建構函式,子類中至少會有乙個建構函式會訪問父類中的建構函式。

**:

class person

void show() {}

}class worker extends person

void merhod()

}class fu

}class zi extends fu

zi(int x)

}class code

}

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

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

子父類中建構函式的特點

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

子父類中建構函式的特點

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