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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章