this关键字用于引用当前对象,主要功能包括:①访问被同名参数遮蔽的成员变量;②调用本类其他实例方法;③在构造器中调用本类其他构造器;④作为当前对象引用传递给其他方法。

在 Java 实例方法中,this 关键字用于明确引用当前对象本身,主要用来访问本类的成员变量、调用本类的其他实例方法或构造器,尤其在参数名与成员变量名冲突时必不可少。
访问被同名参数遮蔽的成员变量
当方法参数名与成员变量名相同时,直接使用变量名会访问参数而非成员变量,此时需用 this.变量名 明确指向当前对象的成员变量。
例如:
public class Person {
private String name;
public void setName(String name) {
this.name = name; // this.name 指成员变量,name 指参数
}
}
调用本类的其他实例方法
在当前实例方法中,可通过 this.方法名() 调用本类其他实例方法(非静态)。虽然通常可省略 this,但显式写出能增强可读性,尤其在链式调用或区分重载方法时有用。
- 用于强调当前对象上下文
- 避免与静态方法或同名局部方法混淆
- 支持返回
this实现流式 API(如return this;)
在构造器中调用本类其他构造器
使用 this(...) 可在构造器第一行调用本类的其他构造器,实现构造逻辑复用。注意必须是首句,且不能与 super(...) 同时出现。
例如:
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;
}
}
作为当前对象的引用传递给其他方法
有时需要把当前对象作为参数传给外部方法或回调,这时用 this 表示“把‘我’传出去”。
- 注册监听器:
button.addActionListener(this);(当前类实现 ActionListener) - 传入工具类处理:
Validator.validate(this); - 构建内部关联(如双向引用):
other.setOwner(this);
this 只能在实例方法或构造器中使用,不能在静态方法中出现;它代表当前正在执行方法的那个具体对象,不是类模板本身。Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











