如何调用超类的重写方法?

Hisham Muneer:

如何在代码中Animal使用myAnimal实例调用类的eat和Drink方法

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();
    }
}

我得到的输出:

Cat Eats
Cat Drinks
Cat Eats
Cat Drinks

这是我的预期输出:

Cat Eats
Cat Drinks
Animal Eats
Animal Drinks
豆腐啤酒:

你不能做你想做的。多态性的工作方式就是按照您所看到的去做。

基本上,猫总是知道它是猫,无论您是否将其视为猫,猫,猫,猫科,猫科,犬形目,食肉目,The虫,哺乳动物,脊椎动物,脊椎动物,虎耳目,杜鹃花,动物界,动物,对象,或其他任何东西:-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章