this 指当前对象
每个非静态方法都在对象的上下文中运行。因此,如果你有这样的课程:
public class MyThisTest { private int a; public MyThisTest() { this(42); // calls the other constructor } public MyThisTest(int a) { this.a = a; // assigns the value of the parameter a to the field of the same name } public void frobnicate() { int a = 1; System.out.println(a); // refers to the local variable a System.out.println(this.a); // refers to the field a System.out.println(this); // refers to this entire object } public String toString() { return "MyThisTest a=" + a; // refers to the field a }}然后调用
frobnicate()上
new MyThisTest()会打印
142MyThisTest a = 42
因此,有效地将它用于多种用途:
- 澄清你在谈论一个字段,当还有其他与该字段同名的东西时
- 整体引用当前对象
- 在构造函数中调用当前类的其他构造函数



