一尘不染

Java中“ this”的含义是什么?

java this

Java中“ this”的含义是什么?


阅读 974

收藏
2020-01-10

共1个答案

一尘不染

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()会打印

1
42
MyThisTest a = 42

因此,有效地将它用于多种用途:

  • 澄清你在谈论一个字段,当还有其他与该字段同名的东西时
  • 整体引用当前对象
  • 在构造函数中调用当前类的其他构造函数
2020-01-10