/*
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 子類的例項化過程 子類中所有的建構函式都會預設訪問父類中的空引數的建構函式.為什麼子類例項化的時候要訪問父類中的建構函式呢?那是因為子類...