this是java中指向当前对象引用的关键字,仅能在实例方法和构造器中使用,用于区分同名参数与成员变量、调用本类其他构造器、传递当前对象或支持链式调用。

在 Java 中,this 是一个关键字,它始终指向**当前正在执行方法的那个对象的引用**。只要方法是非静态(instance method)的,就可以直接使用 this 来访问当前对象的成员变量、调用当前对象的其他方法,或把当前对象作为参数传递出去。
什么时候能用 this?
this 只能在实例方法(非 static 方法)和构造器中使用。静态方法中不能使用 this,因为静态方法不属于某个具体对象,而是属于类本身,此时没有“当前对象”的概念。
this 的常见用途
注意:以下所有用法都要求方法是实例方法(即没加 static 修饰符)。
- 区分同名参数和成员变量:当形参名与成员变量名相同时,用 this.name = name 明确赋值给当前对象的字段
- 调用当前类的另一个构造器(仅限构造器第一行):如 this(10)
- 作为当前对象的引用传给其他方法:比如 someMethod(this)
- 返回当前对象以支持链式调用:比如 return this;(常见于 Builder 模式或 fluent API)
一个简单例子
public class Person {
private String name;
public Person(String name) {
this.name = name; // this.name 指当前对象的 name 字段
}
public void introduce() {
System.out.println("我是 " + this.name); // this.name 等价于 name(此处可省略 this)
}
public Person getSelf() {
return this; // 返回当前对象引用
}
}
容易混淆的点
虽然 this 在大多数情况下可以省略(编译器会自动补上),但显式写出有助于提高可读性,尤其在字段赋值或链式调用场景中。另外,this 不是变量,不能被赋值(如 this = null 是非法的),也不能用于静态上下文。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











