Ich habe mehrere Ebenen von inneren Klassen. Das Schlüsselwort extend gilt für die erste Unterebene, nicht aber für die zweite Unterebene. Bedeutung:Java Inner Classes: erweitert Schlüsselwort für mehrere
public class A{
.........
public class B extends A{
..........
public class C extends B{
........
}
}
}
Dies gibt mir einen Fehler für public class C extends B{
. Dort heißt es:
No enclosing instance of type A is available due to some intermediate constructor invocation.
Warum bin ich diesen Fehler und wie kann ich es beheben? Ich dachte, die Standardkonstruktoren würden damit umgehen.
Sie müssen die B-Klasse statisch machen, um das Problem zu lösen. Gehen Sie durch diese: http://stackoverflow.com/questions/7703812/no-enclosing-instance-of-type-mysuperclassb-is-available-due-to-some-intermedi –
Wie kompilieren Sie diesen Code? Es kompiliert nicht in Eclipse, aber es ist gut mit einfachen 'javac' kompiliert. Beispiel http://ideone.com/LeQ7cx – Pshemo
überprüfen Sie, ob Sie nicht-statische innere Klassen überhaupt brauchen - gute Erklärung [hier] (http://programmers.stackexchange.com/questions/238782/why-prefer-non-static -inner-classes-over-static-one) – harshtuna