在内部类中使用 外包类.this 生成对外部类的对象的引用
备注:在拥有外包类对象之前是无法创建内部类对象的,因为内部类对象需要指向外包类对象的引用.
public class ThisAndNew {
public class Inner{
public ThisAndNew outer(){
/**
* 在内部类中使用 外包类.this 生成对外部类的对象的引用
*/
return ThisAndNew.this;
}
}
public Inner buildInner(){
return new Inner();
}
public void f(){
System.out.println("ThisAndNew.f()");
}
public static void main(String[] args) {
ThisAndNew dt=new ThisAndNew();
Inner dti=dt.buildInner();
dti.outer().f();
Inner dti2=dt.new Inner();
dti2.outer().f();
}
}