this关键字主要用于四方面:一是区分同名成员变量与参数,如this.name=name;二是构造方法中调用本类其他构造方法,需置于首行;三是返回当前对象引用实现链式调用;四是明确访问当前对象成员变量。

当成员变量和方法参数名字相同时,用 this 可以明确指代当前对象的成员变量,避免歧义。
区分同名的成员变量和参数
这是 this 最常见的用途。编译器无法自动判断你写的是参数还是成员变量,所以必须显式说明。
- 参数名和成员变量名一样时,直接写变量名默认访问的是参数
- 用 this.变量名 明确访问当前对象的成员变量
构造方法中给成员变量赋值
在构造方法里,经常用同名参数初始化成员变量,这时 this 很自然地派上用场。
- 例如:this.name = name; 表示把参数 name 的值赋给当前对象的 name 成员变量
- 不写 this 就变成给参数自己赋值,毫无意义
调用本类其他构造方法(必须放在第一行)
用 this(...) 可以在一个构造方法里调用本类的另一个构造方法,实现代码复用。
- 只能出现在构造方法的第一行
- 不能和 super(...) 同时出现
- 例如:this(name); 表示调用带一个 String 参数的构造方法
返回当前对象引用(链式调用)
在 setter 方法或 builder 模式中,返回 this 能让调用方连续调用多个方法。
- 方法返回类型需是当前类类型(如 Person),不能是 void
- 例如:return this; 后可写成 p.setName("A").setAge(20);
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











