java的多态

java的多态,第1张

java的多态 多态

一个父类可以有多个子类,每个子类都可以重写父类中的相同的方法,从而实现同一个行为具有多个不同表现形式或形态的能力。

多态意味着父类型的变量可以引用子类型的对象,eg: 父类可以调用被子类重写的方法。

多态存在的三个必要条件

  • 继承
  • 重写
  • 父类引用指向子类对象:Parent p = new Child();
public class Test {
    public static void main(String[] args) {
       Animal a=new Cat();  // 向上转型 变成父类型
       
       // 编译时a被认为是Animal类型,运行时被认为是父类型
       
       Animal b=new Dog();  // 向上转型 变成父类型
       Animal f=new Animal();
       a.eat();   //调用的是子类的方法
       a.work();
       Cat c = (Cat)a;  //向下转型 变成子类型
       Dog d = (Dog)b;
       c.eat();
       d.eat();

    }
}
class Cat extends Animal{
 //   @Override
    public void eat() {
        System.out.println("吃鱼");
    }
}

class Dog extends Animal{
//    @Override
    public void eat() {
        System.out.println("吃骨头");
    }
}
class Animal{
    public void eat(){
        System.out.println("吃啥呢");
    }
    public void  work(){
     	System.out.println("验证a的内部是Animal类型");
     }
     

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5606234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存