繼承外部類的內部類,當生成一個構造器時候,需要一個指向外部類對象的引用和調用外部類對象的super()方法,
然而super()一直以爲是調用父類的構造函數,在本例中使用,居然是可以調用內部類的構造函數。先留個疑問,如果以後想到了再來繼續說明。
class WithInner {
WithInner() {
System.out.println("調用外部類構造方法");
}
class Inner {
Inner() {
System.out.println("調用內部類構造方法");
}
}
}
public class InheritInner extends WithInner.Inner {
//! InheritInner() {} // Won't compile
InheritInner(WithInner wi) {
wi.super();
}
public static void main(String[] args) {
WithInner wi = new WithInner();
InheritInner ii = new InheritInner(wi);
}
} ///:~