Ich lerne derzeit Java-Klassen und Objekte von java tutorial oracle und habe die folgenden Anweisungen und Code festgestellt. Ich verstehe das Konzept, aber ich weiß nicht, warum wir eine Methode nicht überschreiben und definieren können, um eine Superklasse der ursprünglichen Methode zurückzugeben. Was ist der Grund dafür? Könnte mich bitte jemand aufklären? Vielen Dank im Voraus für jede Hilfe!Warum können wir eine Methode nicht überschreiben und sie so definieren, dass sie eine Oberklasse der ursprünglichen Methode zurückgibt?
Sie können eine Methode außer Kraft setzen und definieren es eine Unterklasse der ursprünglichen Methode zurückzukehren, wie folgt aus:
public Number returnANumber() {
...
}
Aufschalten ursprüngliche Methode:
public ImaginaryNumber returnANumber() {
...
}
@KevinEsche, das ist nicht ganz genau. Sie können eine Methode überschreiben, um eine Unterklasse zurückzugeben. – shmosel
@smossel Ja, du hast Recht mein Schlechter – SomeJavaGuy
Das Tutorial erklärt bereits warum nicht: _Ein Objekt ist jedoch nicht unbedingt eine Zahl - es könnte ein String oder ein anderer Typ sein._ – Joni