在内部类中使用 外包类.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();
}
}
本文介绍Java中内部类如何通过外部类的this关键字来获取对外部类对象的引用。由于内部类对象需要依赖于外部类对象存在,因此在创建内部类对象前必须先有外部类对象。文中提供了一个具体的示例,展示了内部类如何返回对外部类的引用并调用其方法。
1957

被折叠的 条评论
为什么被折叠?



