继承外部类的内部类,当生成一个构造器时候,需要一个指向外部类对象的引用和调用外部类对象的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);
}
} ///:~