JavaRush /Java-Blog /Random-DE /Pet cat = new Cat() – welche Methoden kann die Variable „...
vtimk
Level 17

Pet cat = new Cat() – welche Methoden kann die Variable „cat“ verwenden?

Veröffentlicht in der Gruppe Random-DE
Liebe Java-Leute, nehmen wir an, es gibt Code, in dem eine Methode in einer geerbten Klasse überschrieben wird: class Pet { String name; String age; String getString() { return "Домашнее животное"; } } class Cat extends Pet { String getString() { return "Кот Рыжик"; } } public static void main(String[] args) { Pet cat = new Cat(); cat.getString(); } Sagen Sie mir bitte, welche Version der Methode getString() für die Variable cat aufgerufen wird? Ich habe in Vorlesungen gelesen, dass man Methoden eines Objekts nur dann aufrufen kann, wenn sie in der Klasse vorhanden sind, die als Referenztyp für das Objekt verwendet wurde, unabhängig vom tatsächlichen Typ des Objekts. Bedeutet das, dass in diesem Fall die Methode aus der Pet-Klasse aufgerufen wird, oder im Falle des Überschreibens der Methode die Methode aus der Objektklasse aufgerufen wird? Danke.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION