this关键字用于引用当前对象实例,主要用途有三:一是区分同名成员变量与参数,如this.name = name;二是用this()调用本类其他构造方法,须在首行;三是返回或传递当前对象以支持链式调用等。

在 Java 中,this 关键字用于引用当前对象的实例,常用来区分成员变量和参数/局部变量同名的情况,也能用于调用本类的其他构造方法或返回当前对象。
用 this 区分同名的成员变量和参数
当方法参数或构造器参数与成员变量重名时,用 this.成员变量名 明确指代当前对象的成员变量。
- 例如:成员变量
name和构造器参数都叫name,赋值时写this.name = name; - 不加
this会导致参数覆盖自身(实际是给参数赋值,成员变量没被修改) - 这是最常见、最实用的
this使用场景
用 this() 调用本类其他构造方法
在构造器中,可用 this(参数列表) 调用同一类中的另一个构造器,必须放在第一行。
- 适用于多个构造器逻辑有重叠时,避免重复代码
- 注意:不能和
super()同时出现,也不能在普通方法里使用 - 例如:一个无参构造器调用带参构造器
this("默认名");
用 this 返回当前对象或传递当前对象
this 可作为方法返回值(常用于链式调用),或作为参数传给其他方法。
- 返回
this的方法通常返回void改为返回当前类类型,且末尾写return this; - 比如
setName(String name) { this.name = name; return this; },支持obj.setName("A").setAge(20); - 也可用于将当前对象传给工具方法或监听器注册等场景
什么时候不需要写 this?
只要没有命名冲突,Java 编译器会自动把未加限定的变量名解析为成员变量。
- 比如方法里只有
age = 25;,且类中有int age;,就等价于this.age = 25; - 过度使用
this不影响功能,但可能降低可读性;建议只在必要时显式写出 - IDE(如 IntelliJ)常会提示是否添加
this.,可根据团队规范决定是否启用
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











