关键字 this 代表一个引用,指向正在调用该方法的当前对象。this 可以理解为对象的一个属性,但这个属性是隐藏的,和对象的其他属性一样,在 new 一个新对象的时候,会在堆内存中为对象分配空间,属性就储存在这份空间中。this 属性的值就是对象在堆内存中的地址,即 this 指向该对象。
package com.src.bac;
public class TestThis{
String name;
int age;
public TestThis() {
System.out.println(this);
}
public TestThis(String name,int age) {
this.name = name;
this.age = age;
}
public void show() {
System.out.println(this);
}
public static void main(String[] args){
TestThis tt = new TestThis();
tt.show();
TestThis tt1 = new TestThis("张三",18);
tt1.show();
}
}
//输出结果:
com.src.bac.TestThis@4eec7777
com.src.bac.TestThis@4eec7777
com.src.bac.TestThis@3b07d329
由以上可知,每个对象都有一个对应的 this。this 关键字可以用来区分当前类的属性和局部变量。