this关键字用于引用当前对象成员,解决变量歧义、实现构造器链式调用(需首行且不与super共存)、显式调用实例方法,静态方法中不可使用。

在 Java 方法中,this 关键字用于显式引用当前对象的成员(字段、方法、构造器),主要解决局部变量与成员变量同名时的歧义,或实现构造器链式调用。
区分同名的局部变量和成员变量
当方法参数或局部变量与类的成员变量重名时,用 this.成员名 明确访问当前对象的成员变量。
例如:
<font size="2">public class Person {
private String name;
public void setName(String name) {
this.name = name; // this.name 指成员变量,name 指参数
}
}</font>
在构造器中调用本类其他构造器
使用 this(...) 可在构造器第一行调用本类的另一个构造器,实现代码复用。
- 必须是构造器的第一条语句
- 不能与 super(...) 同时出现
- 避免循环调用(如 A 调 B,B 又调 A)
例如:
<font size="2">public class Person {
private String name;
private int age;
public Person(String name) {
this(name, 0); // 调用两个参数的构造器
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}</font>
显式调用当前对象的实例方法
虽然通常可省略 this,但在某些场景下显式写出更清晰,比如在回调、内部类或强调调用目标时。
例如:
<font size="2">public void doWork() {
this.prepare(); // 明确表示调用本对象的 prepare 方法
this.execute();
}</font>
注意:静态方法中不能使用 this,因为 this 指向具体实例,而静态上下文不依赖于任何实例。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











