Java中this關鍵字使用

this關鍵字用來表示當前對象本,或當前類的一個實例,通過this可以調用本對象的所有屬性和方法。例如:

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();
    }
}

上面的程序中,obj是Demo類的一個實例,this和obj等價(此時obj就是this,this就是obj),執行int z=this.x+this.y;,就相當於執行int z=obj.x+obj.y;。

而需要注意的是,this只有在實例化後纔有意義。

使用this關鍵字還可以區分同名變量

成員變量與方法內部的變量重名時,希望在方法內部調用成員變量,怎麼辦呢?這時候只能使用this關鍵字,例如:

public class Demo1 {

	int a;
	int b;
	public Demo1(int a,int b) {
		this.a=a;
		this.b=b;
	}
	public void add(){
		System.out.println("a+b="+(a+b));
	}
	
	public static void main(String[] args) {
		Demo1 d=new Demo1(10, 5);
		d.add();
	}
}
Java默認將所有成員變量和成員方法與this關聯在一起,因此有些情況下使用this關鍵字就是多餘的。
發佈了44 篇原創文章 · 獲贊 88 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章