当方法参数或局部变量与成员变量同名时,需用 this 明确指代当前对象的成员变量,因编译器默认优先使用局部变量;this 只能在非静态方法和构造方法中使用。

当方法参数或局部变量与类的成员变量同名时,用 this 可以明确指代当前对象的成员变量。
为什么需要 this
Java 允许局部变量与成员变量重名,但编译器默认优先使用局部变量。如果不加区分,就无法访问同名的成员变量。this 是当前对象的引用,通过 this.成员变量名 就能准确访问类的字段。
常见写法:构造方法中初始化成员变量
这是最典型的场景。例如:
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
private String name;
private int age;
public Person(String name, int age) {
this.name = name; // this.name 指成员变量,name 指参数
this.age = age;
}
}
在普通方法中区分同名变量
当方法形参、局部变量与成员变量重名时,同样适用:
立即学习“Java免费学习笔记(深入)”;
- 用 this.fieldName 访问成员变量
- 直接用 fieldName 访问局部变量或参数
- 避免在同一个作用域内无意义地重复定义同名变量
注意点
this 只能在非静态方法和构造方法中使用,因为静态上下文不依赖具体对象实例。在 static 方法里使用 this 会编译报错。

















