class TestInner{
class A{
A(int i){
System.out.println(“i=”+i);
}
}
}
public class Test{
class B extends TestInner.A{
B(Testinner o){
o.super(5);
}
}
public static void main(String[] args){
Test.B test=new Test().new B(new TestInner());
}
}
当一个内部类想继承另一个内部类的时候,那个指向外部类的引用必须被初始化
所以如果这里只是简单的B(){} 是通不过的
同时如果基类有非默认的构造函数,则也要传递相应的参数给基类的构造器
所以应该使用以下语法:
enclosingClassReference.super();