Como chamar o método substituído de uma superclasse?
Como posso chamar o método comer e beber doAnimal
classe com omyAnimal
instância no código?
public class Animal {
public void eat() {
System.out.println("Animal Eats");
}
public void drink() {
System.out.println("Animal Drinks");
}
}
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("Cat Eats");
}
@Override
public void drink() {
System.out.println("Cat Drinks");
}
public static void main(String[] args) {
Cat myCat = new Cat();
myCat.eat();
myCat.drink();
Animal myAnimal = myCat;
myAnimal.eat();
myAnimal.drink();
}
}
Saída que estou recebendo:
Cat Eats
Cat Drinks
Cat Eats
Cat Drinks
Esta é minha saída esperada:
Cat Eats
Cat Drinks
Animal Eats
Animal Drinks