子父類中變數的特點

2021-06-29 04:51:24 字數 919 閱讀 4885

1.變數

如果子類中出現非私有的成員變數時,子類要訪問本類中的變數,用this。

子類要訪問父類中的同名變數,用super

super的使用和this的使用幾乎一致

this代表的是本類的物件的引用

super代表的是父類物件的引用

2.方法

當子類出現和父類一模一樣的函式時,當子類物件呼叫該函式,會執行子類函式的內容。如同父類的函式被覆蓋一樣。

當子類繼承父類,沿襲了父類的功能,到子類中,但是子類具備該功能,但是功能的內容卻和父類不一致,這時,沒有必要定義新功能,而是使用覆蓋特殊,保留父類的功能定義,並重寫功能內容

覆蓋:1.子類覆蓋父類,必須保證子類許可權要大於等於父類許可權才可以覆蓋,否則編譯失敗

2.靜態只能覆蓋靜態

過載:只看同名函式的引數列表

重寫:子父類方法要一模一樣

3.建構函式

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

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

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

因為父類中的資料子類可以直接獲取,所以子類物件在建立時需要先檢視父類是如何對這些資料進行初始化的,所以子類在物件初始化時要先訪問一下父類中的建構函式。如果要訪問父類中指定的建構函式,可以手動定義super語句的方式來指定

子類的例項化過程

結論:子類的所有建構函式,預設都會訪問父類中空引數建構函式,因為子類每乙個建構函式內的第一行都有一句隱式的super()。當父類中沒有空引數的建構函式時,子類必須手動通過super語句形式來指定要訪問父類中的建構函式。當然,子類的建構函式第一行也可以手動指定this語句來訪問本類中的建構函式。子類中至少會有乙個建構函式會訪問父類中的建構函式。

物件導向(子父類中變數的特點)

子父類出現後,類成員的特點 類中成員 1,變數。2,函式。3,建構函式。如果子類中出現父類中非私有的非同名成員變數時,可以直接使用。1,變數 如果子類中出現非私有的同名成員變數時,子類要訪問本類中的變數,用this 不寫也行,省略了this.this是本類物件的引用,super是父類物件的引用。子類...

子父類中建構函式的特點

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

子父類中建構函式的特點

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