super關鍵字和函式覆蓋(Override)

2021-07-11 00:09:15 字數 936 閱讀 1822

(1)super:代表的是父類,用法和this相似。可以使用super呼叫父類中構造方法,成員變數與成員方法。例如:super.age=10;其中age是父類中的變數。

(2)this代表本類物件的引用,即父類的記憶體空間的標識,super代表父類所屬的空間。

(3)當子父類出現同名成員時,可以用super進行區分。

(4)子類要呼叫父類建構函式時,可以使用super語句。

詳見「4.5子類例項化過程」中super的使用。

覆蓋也稱之為覆寫或者重寫,使用環境:

(1)出現在具有父子關係的兩個類中

(2)父類和子類都有乙個函式,這兩個函式的定義(函式名,引數列表,返回值型別)完全相同。

package com.override;

public

class

person

}package com.override;

public

class

student

extends

person

}package com.override;

public

class

test

}

執行結果:

從上面的執行結果可知:

(1)生成子類物件,呼叫子類的方法,生成父類物件,呼叫父類的方法。

(2)當在具有繼承關係的父子類中,對父類的方法不滿意,可以通過在子類中重寫的方式進行修改。

覆蓋注意事項:

(1)子類覆蓋父類時,必須要保證覆蓋方法的許可權大於等於被覆蓋的方法的許可權。

(2)覆蓋方法有靜態修飾時,靜態只能覆蓋靜態,或者被靜態覆蓋。在寫法注意這個事項。

this關鍵字和super關鍵字

this關鍵字和super關鍵字都必須放在構造方法的第一行,所有兩個關鍵字不能同時存在,任選其一即可,只需保證子類的所有構造方法呼叫父類的構造方法即可 this關鍵字的應用 this關鍵字用於區分區域性變數和成員變數的同名問題 有this關鍵字的是成員變數,或者是誰呼叫我,訪問的就是誰 this關鍵...

this 和 super關鍵字

this和super關鍵字,其用法非常的相似。super用來代表父類,而this用來代表本類。this 用於呼叫本類的構造。super 用來呼叫父類的構造,必須出現在構造當中的第一行。this.用來呼叫本類的屬性和方法,可以出現在在非static的部分。super.用來呼叫父類已經父類繼承而來的的屬...

this和super關鍵字

this關鍵字總是指向呼叫該方法的物件。根據this出現位置不同,this作為物件的預設引用有兩種情形 1 構造器中引用該構造器正在初始化的物件 2 在方法中引用呼叫該方法的物件。this呼叫另乙個過載的構造器的初始化 只能在構造器中使用,而且必須作為構造器執行體的第一條語句。會根據this括號裡的...