一:this
第一、通過this呼叫另乙個構造方法,用法是this(引數列表),這個僅僅在類的構造方法中,別的地方不能這麼用。
第二、函式引數或者函式中的區域性變數和成員變數同名的情況下,成員變數被遮蔽,此時要訪問成員變數則需要用「this.成員變數名」的方式來引用成員變數。當然,在沒有同名的情況下,可以直接用成員變數的名字,而不用this,用了也不為錯,呵呵。
第三、在函式中,需要引用該函所屬類的當前物件時候,直接用this。
其實這些用法總結都是從對「this是指向物件本身的乙個指標」這句話的更深入的理解而來的,死記不然容易忘記而且容易搞錯,要理解!
二:super
第一、在子類構造方法中要呼叫父類的構造方法,用「super(引數列表)」的方式呼叫,引數不是必須的。同時還要注意的一點是:「super(引數列表)」這條語句只能用在子類構造方法體中的第一行。
第二、當子類方法中的區域性變數或者子類的成員變數與父類成員變數同名時,也就是子類區域性變數覆蓋父類成員變數時,用「super.成員變數名」來引用父類成員變數。當然,如果父類的成員變數沒有被覆蓋,也可以用「super.成員變數名」來引用父類成員變數,不過這是不必要的。
第三、當子類的成員方法覆蓋(重寫)了父類的成員方法時,也就是子類和父類有完全相同的方法定義(但方法體可以不同),此時,用「super.方法名(引數列表)」的方式訪問父類的方法。
java中this和super的區別
一 this 1 屬性訪問 訪問本類中的屬性,如果本類中沒有此屬性,則從父類中繼續查詢 2 方法 訪問本類中的方法,如果本類中沒有此方法,則從父類中繼續查詢 3 呼叫構造 呼叫本類構造,必須放在構造方法的首行 4 表示當前物件 二 super 1 屬性訪問 訪問父類中的屬性 2 方法 直接訪問父類中...
Java中this和super的區別
this通常指當前物件,super則指父類的。當你想要引用當前物件的某種東西,比如當前物件的某個方法,或當前物件的某個成員,你便可以利用this來實現這個目的,當然,this的另乙個用途是呼叫當前物件的另乙個建構函式。如果你想引用父類的某種東西,則非super莫屬。在一般方法中最普遍的情況就是,在你...
JAVA中super和this的區別和用法
this通常指當前物件,super則指父類的。當你想要引用當前物件的某種東西,比如當前物件的某個方法,或當前物件的某個成員,你便可以利用this來實現這個目的,當然,this的另乙個用途是呼叫當前物件的另乙個建構函式,如果你想引用父類的某種東西,則非super莫屬。最普遍的情況就是,在你的方法中的某...