[JAVA] Upcast / Downcast
Ich bin ein Anfänger, aber ich habe es für das persönliche Studium geschrieben
Upcast
- Das Speichern einer Unterklasseninstanz in einem Oberklassenobjekt wird als ** upcast ** bezeichnet
- Da der Compiler automatisch umwandelt, wenn die Kompatibilität überprüft werden kann, kann die geerbte Unterklasse alle Mitglieder der Oberklasse garantieren, sodass der Upcast ** implizit ** ausgeführt wird.
-Wenn die Oberklasse und die Unterklasse Feldvariablen und Methoden mit demselben Namen haben, haben ** Feldvariablen eine Oberklasse und die Methode hat Unterklassenpriorität **.
Niedergeschlagen
- Umgekehrt zum Upcast wird das Speichern eines Superklassenobjekts in einem Unterklassenobjekt als ** Downcast ** bezeichnet.
· Superklassen können nicht alle Mitglieder einer Unterklasse garantieren. Wenn Sie also von einer Superklasse in eine Unterklasse downcasten möchten, müssen Sie ** explizit ** downcasten.
-Wenn Sie ein Objekt, das nicht hochgespielt wurde, heruntergespielt haben, tritt eine Ausnahme von ClassCastException auf. Sie müssen also einmal hochgestuft und dann heruntergestoßen **
-Es kann festgestellt werden, ob Downcasting möglich ist, indem verglichen wird, ob das Objekt den angegebenen Klassentyp oder die angegebene Klasse mit dem Operator instanceof erbt.