"合格的"构造在java中意味着什么?

Inq*_*ive 26 java jls

有效Java中 的项目"项目22:偏爱非静态的静态成员类"Josh Bloch说:

非静态成员类的每个实例都与其包含类的封闭实例隐式关联.在非静态成员类的实例方法中,您可以使用限定的此构造调用封闭实例上的方法或获取对封闭实例的引用.

合格的这个结构是什么意思?

eri*_*son 36

如果没有限定符,x()就会递归.使用限定符,将x()调用封闭实例的方法.

class Envelope {
  void x() {
    System.out.println("Hello");
  }
  class Enclosure {
    void x() {
      Envelope.this.x(); /* Qualified*/
    }
  }
}
Run Code Online (Sandbox Code Playgroud)


Pau*_*rie 10

非静态成员类具有对封闭类的实例的隐式引用.该合格这个术语指的是封闭类的实例.如果封闭类A,而内部类B,你可以解决的封闭参考AB作为A.this.