Уважаемые 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 или же в случае переопределения метода вызывается метод из класса объекта?
Спасибо.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ