测试了下一个类继承内部类
public class TestInner {
public void testMethod() {
Outer outer = new Outer();
Extend extendObj = new Extend(outer);
}
public static void main(String[] args) {
(new TestInner()).testMethod();
}
}
class Outer {
public Outer() {
System.out.println("Outer");
}
class Inner {
public Inner() {
super();
System.out.println("Inner");
}
}
}
class Extend extends Outer.Inner {
public Extend(Outer outer) {
outer.super();
System.out.println("Extend outer");
}
}
比较纠结的地方是
Extend类的必须有以Outer实例为参数的构造函数,否则报错:
an enclosing instance that contains Outer.Inner is required