Wie kann ich im folgenden Beispiel von C
auf die Methode method()
der Klasse A
zugreifen?Wie greife ich auf die Super-Super-Klasse in Java zu? [Mini-Beispiel innen]
class A {
public void method() { }
}
class B extends A{
public void method() { }
}
class C extends B{
public void method() { }
void test() {
method(); // C.method()
super.method(); // B.method()
C.super.method(); // B.method()
B.super.method(); // ERROR <- What I want to know
}
}
Der Fehler, den ich bekommen habe ist
Keine umschließenden Instanz des Typs B zugänglich in Umfang ist
Antwort: Nein, das ist nicht möglich. Java erlaubt es nicht. Similar question.
Siehe Jon Skeets Antwort auf http: // stackoverflow.com/questions/586363/warum-ist-super-super-methode-nicht-erlaubt-in-java – BoltClock
Ich bin überrascht, dass die Frage nicht in den verwandten Fragen erschien, als ich es schrieb. Meine Antwort ist da. +1 –