this是java中指向当前对象的引用,用于区分同名参数与成员变量、调用本类其他构造方法(需首行)、传递当前对象作参数、以及返回当前对象实现链式调用。

在 Java 中,this 是一个指向当前对象的引用,它天然存在于每个非静态方法内部,用于明确访问本对象的成员变量、调用本对象的其他方法,或在需要传递自身引用的场景中使用。
用 this 显式访问成员变量
当形参名与成员变量名相同时,容易发生遮蔽(shadowing),此时 this 可以区分二者:
public class Person {
private String name;
public Person(String name) {
this.name = name; // this.name 指成员变量,name 指参数
}
}
用 this 调用本类其他构造方法(构造器链)
在一个构造方法中,可用 this(...) 调用本类的另一个构造方法,但必须是第一行语句:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
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 作为参数传递当前对象
当需要把当前对象作为参数传给其他方法(如回调、注册监听器、集合添加等)时,直接写 this 即可:
- 注册自身为事件监听器:
button.addActionListener(this);(要求类实现ActionListener) - 将当前对象加入集合:
registry.add(this); - 作为回调参数传入异步操作:
api.fetchData(new Callback<result>() { public void onSuccess(Result r) { handleSuccess(r, this); } });</result>(注意匿名内部类中this指向外部类实例)
用 this 返回当前对象(支持链式调用)
在 setter 或配置方法中返回 this,可实现方法链:
public class Builder {
private String name;
private int size;
public Builder setName(String name) {
this.name = name;
return this; // 返回当前对象,支持链式调用
}
public Builder setSize(int size) {
this.size = size;
return this;
}
}
// 使用:new Builder().setName("test").setSize(10);
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










