this关键字是Java 常用的关键字,我们相信很多初学者不知道这个是什么,也不知道什么时候该用这个this。this关键字被解释为“指向当前对象的引用”,这个解释非常准确并且很精炼,但它太过学术化了,导致很多初学者有点读不懂。下面我简单来讲这个this,让初学Java的小伙伴来深入理解this关键字的意义,我们举一个例子来讲解。
- 我们来建一个类ThisDemo.java,放二个属性(姓名,年龄)
public class ThisDemo {
private String name;
private int age;
}
- 我们现在在这个类里面写上set方法和tostring方法
public class ThisDemo {
private String name;
private int age;
@Override
public String toString() {
return "ThisDemo{" +
"name='" + name + ''' +
", age=" + age +
'}';
}
public void setName(String name) {
name = name;
}
public void setAge(int age) {
age = age;
}
}
如果我们在set方法中没有使用this我们调用set方法,然后打印tostring看看,测试是否能赋值成功
- 测试代码
public abstract class ThisTest {
public static void main(String[] args) {
ThisDemo sunny = new ThisDemo();
sunny.setName("Sunny");
sunny.setAge(20);
System.out.println(sunny.toString());
}
}
- 测试运行结果图
从上面的运行结果图可以看出来,没有赋值成功,我们也可以解决名字冲突,我们就改名字嘛,试试,改set方法中传递的参数的名字
- 修改后的代码
冲上面的图图片上来看我们也暂时没有使用this,现在看看能不嫩赋值成功
测试代码不变,直接运行
我们现在可以看出来我们赋值成功了,改了名称才可以,下面是重头戏,我们有没有一种方法不用改名字也可以赋值成功,当然有了,这个就是this关键字我们看看怎么弄
- 修改的地方
测试代码不变,直接运行
我们可以看到现在加上this就运行成功了
this的总结:表示自身对象,也就是本对象自己,指向自己对象的属性或者方法



