Hey.
Ich hab beim lesen von paar sources auf der Java-Se diese Methode gefunden:
Sowas habe ich vorher noch nicht gesehen. Ich hab auch mehrere versuche in ner Testklasse gemacht, zu versuchen zu verstehen wann das funktioniert. Aber ich hab IMMER nen Compiler-Fehler bekommen.
Ich hab Sachen wie eine Testklasse von einer anderen Testklasse abgeleitet, die equals() überschrieben hat und versucht, auf die equals aus Object zuzugreifen mit super.super.equals(); was aber nicht funktioniert. Ich hab ein Objekt einer Klasse erzeugt und versucht von diesem Objekt super aufzurufen, hat auch nicht funktioniert. Was macht obigen Code so speziell und wie setzt man das sinnvoll um?
Als Beispiel:
Ob ich nun UnterKlasse.super oder u. super schreibe, es passt nicht. Also wie ist sowas möglich?
Ich hab beim lesen von paar sources auf der Java-Se diese Methode gefunden:
Java:
@Override // override for Javadoc
public ValueRange range(TemporalField field) {
return Temporal.super.range(field);
}
Sowas habe ich vorher noch nicht gesehen. Ich hab auch mehrere versuche in ner Testklasse gemacht, zu versuchen zu verstehen wann das funktioniert. Aber ich hab IMMER nen Compiler-Fehler bekommen.
Ich hab Sachen wie eine Testklasse von einer anderen Testklasse abgeleitet, die equals() überschrieben hat und versucht, auf die equals aus Object zuzugreifen mit super.super.equals(); was aber nicht funktioniert. Ich hab ein Objekt einer Klasse erzeugt und versucht von diesem Objekt super aufzurufen, hat auch nicht funktioniert. Was macht obigen Code so speziell und wie setzt man das sinnvoll um?
Als Beispiel:
Java:
public class MethodeDerOberklasseDerOberklasse {
public static class OberKlasse {
@Override
public String toString() {
return "Fail";
}
}
public static class UnterKlasse extends OberKlasse {
@Override
public String toString() {
return super.toString();
}
}
public static void main(String[] args) {
UnterKlasse u = new UnterKlasse();
String s = UnterKlasse.super.toString();
System.out.println(u);
}
}
Ob ich nun UnterKlasse.super oder u. super schreibe, es passt nicht. Also wie ist sowas möglich?
Zuletzt bearbeitet: