class OuterA {
class InnerA {
}
}
class SubclassC extends OuterA.InnerA {
SubclassC(OuterA outerRef) {
outerRef.super();
}
}
class XYZ {
public static void main(String[] args) {
new SubclassC(new OuterA());
}
}
在上面的代码中
OuterA
对象引用传递给SubclassC
构造函数,以便.java文件进行编译? InnerA
对象引用传递给SubclassC
构造函数? 最佳答案
因为SubclassC
扩展了InnerA
类的定义。同时,InnerA
类是绑定(bind)到OuterA
的(即InnerA
的所有实例都将绑定(bind)到对应的OuterA
实例)。因此,要获得SubclassC
的实例,您需要一个OuterA
的实例。
因为在创建SubclassC
时,将在幕后首先创建其父类(super class)的实例,即会存在InnerA
的实例。实际上,您可以将SubclassC
视为一种特殊的InnerA
。