Chers utilisateurs Java, disons qu'il existe du code dans lequel une méthode d'une classe héritée est remplacée :
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(); }
veuillez me dire quelle version de la méthode getString() sera appelée pour la variable cat ? J'ai lu dans les cours que vous pouvez appeler les méthodes d'un objet uniquement si elles sont présentes dans la classe qui a été utilisée comme type de référence à l'objet, quel que soit le type réel de l'objet. Cela signifie-t-il que dans ce cas, la méthode de la classe Pet sera appelée, ou en cas de remplacement de la méthode, la méthode de la classe objet sera appelée ? Merci.
GO TO FULL VERSION