在 Java 面向对象编程中,this 是一个基础却至关重要的关键字。简单来说,它代表了当前对象的引用。当我们在一个实例方法或构造函数内部调用 this 时,它指向的是调用该方法的对象本身。
区分成员变量与局部变量
实际开发中最常见的场景是成员变量和局部变量重名。这时候编译器会优先使用局部变量,导致成员变量无法被正确赋值。使用 this 可以明确指定我们要操作的是类的成员属性。
比如,在构造函数中给属性赋值时:
public class Person {
private String name;
private int age;
// 无参构造
public Person() {
name = "baby";
age = 1;
System.out.println("person run");
}
// 带参构造,调用无参构造初始化默认值
public Person(String name) {
this(); // 调用本类其他构造器
this.name = name; // 这里的 this.name 指代成员变量
}
// 完整参数构造
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 打印信息
public void speak() {
System.out.println(this.name + ":" + this.age);
}
// 比较年龄
public boolean compare(Person p) {
return .age == p.age;
}
}


