JavaRush /Blog Java /Random-PL /Pet cat = new Cat() - jakich metod może używać zmienna „c...
vtimk
Poziom 17

Pet cat = new Cat() - jakich metod może używać zmienna „cat”?

Opublikowano w grupie Random-PL
Drodzy użytkownicy języka Java, powiedzmy, że istnieje kod, w którym nadpisana jest metoda w odziedziczonej klasie: 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(); } powiedzcie mi, która wersja metody getString() zostanie wywołana dla zmiennej cat? Czytałem na wykładach, że metody obiektu można wywoływać tylko wtedy, gdy są one obecne w klasie, która została użyta jako typ referencyjny do obiektu, niezależnie od faktycznego typu obiektu. Czy to oznacza, że ​​w tym przypadku zostanie wywołana metoda z klasy Pet, czy też w przypadku nadpisania metody zostanie wywołana metoda z klasy obiektowej? Dziękuję.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION