JavaRush /Java блог /Random UA /Pet cat = new Cat() - які методи може використовувати змі...
vtimk
17 рівень

Pet cat = new Cat() - які методи може використовувати змінна "cat"?

Стаття з групи Random UA
Шановні Java'рашівці, припустимо, є код, в якому перевизначається метод у спадковому класі: 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(); } скажіть будь ласка, який варіант методу getString() буде викликаний для змінної cat? У лекціях прочитав, що можна викликати методи об'єкта, тільки якщо вони присутні в класі, який використовувався як тип посилання на об'єкт, не дивлячись на фактичний тип об'єкта. Чи означає це, що в даному випадку буде викликаний метод із класу Pet або ж у разі перевизначення методу викликається метод із класу об'єкта? Дякую.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ