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'聲明?它對這個問題毫無影響。 –