public class A {
public A() {
System.out.println("A()");
}
public class B {
public B() {
System.out.println("B()");
}
}
}
class Caller extends A.B {
Caller(A a){
a.super();
}
}
public class Main {
public static void main(String[] args) {
Caller as= new Caller(new A());
}
}
为什么我们需要在类中调用a.super()
扩展内部类?它在做什么?继承自内部类
没有a.super()
程序不想编译。
Error:(48, 20) java: an enclosing instance that contains A.B is required
扩展封闭类之外的*内*类是一个非常** **糟糕的代码设计。你应该重新考虑设计。 – Andreas
编辑问题时不提及编辑问题本身也不太好。 – Scadge
[此编辑](http://stackoverflow.com/revisions/39231197/5)的目的是添加一个不完整的'C'声明?它对这个问题毫无影响。 –