Java中“ 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()会打印
frobnicate()
new MyThisTest()
1 42 MyThisTest a = 42
因此,有效地将它用于多种用途: