1.this&super
什么是this,this是自身的一個對象诱鞠,代表對象本身挎挖,可以理解為:指向?qū)ο蟊旧淼囊粋€指針。當你想要引用當前對象的某種東西航夺,比如當前對象的某個方法蕉朵,或當前對象的某個成員,你便可以利用this來實現(xiàn)這個目的阳掐。要注意的是this只能在類中的非靜態(tài)方法中使用始衅,靜態(tài)方法和靜態(tài)的代碼塊中絕對不能出現(xiàn)this。his也可作為構(gòu)造函數(shù)來使用缭保。在后面可以看到
而什么是super汛闸,可以理解為是指向自己超(父)類對象的一個指針,而這個超類指的是離自己最近的一個父類艺骂。super的作用同樣是可以作為構(gòu)造函數(shù)使用诸老,或者是獲取被局部變量屏蔽掉的父類對象的某個同名變量的值。
this關(guān)鍵字詳解
this 關(guān)鍵字用來表示當前對象本身钳恕,或當前類的一個實例别伏,通過 this 可以調(diào)用本對象的所有方法和屬性。
例如:
public class Demo{
public int x = 10;
public int y = 15;
public void sum(){
// 通過 this 點取成員變量
int z = this.x + this.y;
System.out.println("x + y = " + z);
}
public static void main(String[] args) {
Demo obj = new Demo();
obj.sum();
}
運行結(jié)果:x + y = 25
上面的程序中忧额,obj 是 Demo 類的一個實例厘肮,this 與 obj 等價,執(zhí)行 int z = this.x + this.y;睦番,就相當于執(zhí)行 int z = obj.x + obj.y;类茂。
注意:this 只有在類實例化后才有意義;
使用this區(qū)分同名變量
成員變量與方法內(nèi)部的變量重名時托嚣,希望在方法內(nèi)部調(diào)用成員變量巩检,怎么辦呢?這時候只能使用this示启;
例如: