如果你需要生成对外部类对象的引用,可以使用外部类的名字后面紧跟原点和this。这样产生的引用自动地具有正确的类型,这一点在编译期就被知晓并接受检查,因此没有任何运行时开销。下面展示了如何使用.this
public class DotThis {
void f() {
System.out.println("DotThis.f()");
}
public class Inner{
public DotThis outer(){
return DotThis.this;
}
}
public Inner inner(){return new Inner();}
public static void main(String[] args) {
DotThis dotThis = new DotThis();
DotThis.Inner inner = dotThis.inner();
inner.outer().f();
}
}