this关键字代表当前对象引用,可用于传递当前对象、实现链式调用及区分同名参数与成员变量,但不可在静态方法中使用,构造器中传递需谨慎。

在 Java 中,this 关键字代表当前对象的引用,可以直接用它把当前对象作为参数传递给其他方法。
在普通实例方法中传递 this
当需要将当前对象传给另一个方法(比如回调、注册、委托等场景),直接写 this 即可。它本质上是一个指向当前对象的引用,类型就是当前类本身。
- 确保目标方法接收的参数类型与当前类兼容(通常是同类型或其父类/接口)
-
this只能在非静态方法中使用;静态方法里没有“当前对象”,用this会编译报错 - 例如:
eventManager.registerListener(this);—— 常见于监听器模式
在构造器中传递 this(需谨慎)
构造器里也可以用 this 传参,但要注意:此时对象尚未初始化完成,若被传递出去并被外部提前调用,可能导致状态不一致或空指针。
- 常见于链式构造或内部注册,如:
registry.add(this); - 避免在构造器中将
this传给其他线程或异步逻辑 - 如果必须传递,建议先完成关键字段赋值,再传递
通过 this 实现方法链式调用
让方法返回 this,就能连续调用多个方法,提升 API 流畅度。
立即学习“Java免费学习笔记(深入)”;
- 每个方法末尾写
return this; - 返回类型需声明为当前类(或其父类/接口),不能是
void - 例如:
builder.setName("A").setAge(25).build();
区分成员变量与参数时顺便使用 this
虽然这不是“传递”,但常和 this 的使用场景共存:当形参名和成员变量名相同时,用 this.name = name; 明确赋值目标。
- 这是
this最基础也最常用的用途之一 - 有助于避免混淆,增强代码可读性
- IDE 通常会自动补全这类写法


















