Hallo,
ich habe Frage zum Thema "Covariant returns" beim Überschreiben von den Methoden. Ich habe ein Beispiel, was ich nicht nachvollziehen kann:
Es gibt einen Kompilierungsfehler in diesem Fall. Obwohl Integer ein Subclass von Number ist. Genauso wie hier auch:
Könntet ihr mir bitte helfen, die Regeln dafür zu verstehen?
ich habe Frage zum Thema "Covariant returns" beim Überschreiben von den Methoden. Ich habe ein Beispiel, was ich nicht nachvollziehen kann:
Java:
class Parent {
Integer get() {
return 1;
}
}
class Child extends Parent {
Number get() {
return 2;
}
}
public class Test {
public static void main(String[] args) {
Parent yo = new Child();
System.out.println(yo.get());
}
}
Es gibt einen Kompilierungsfehler in diesem Fall. Obwohl Integer ein Subclass von Number ist. Genauso wie hier auch:
Java:
class Parent {
Number get() {
return 1;
}
}
class Child extends Parent {
Integer get() {
return 2;
}
}
public class Test {
public static void main(String[] args) {
Parent yo = new Child();
System.out.println(yo.get());
}
}
Könntet ihr mir bitte helfen, die Regeln dafür zu verstehen?
Zuletzt bearbeitet von einem Moderator: