2-06_猫和狗(多态版)

 1 package duoTai05;
 2 
 3 public class Cat extends Animal{
 4 
 5 
 6     public void eat(){
 7         System.out.println("猫吃鱼");
 8     }
 9 
10     public void playGame(){
11         System.out.println("猫捉迷藏");
12     }
13 }
package duoTai05;

public class Dog extends Animal{

    public void eat(){
        System.out.println("狗吃骨头");
    }
}
package duoTai05;

public class Animal {
    public void eat(){
        System.out.println("动物吃肉");
    }
}
 1 package duoTai05;
 2 
 3 public class AnimalDemo {
 4     public static void main(String[] args) {
 5         //向上转型
 6         Animal a = new Cat();
 7         a.eat();
 8 
 9         //向下转型
10         Cat c = (Cat) a;
11         c.eat();
12         c.playGame();
13 
14         //向上转型
15         a = new Dog();
16         a.eat();
17 
18         //向下转型
19         //ClassCastException类型转换异常
20 //        Cat cc = (Cat)a;
21 //        cc.eat();
22 //        cc.playGame();
23     }
24 }

 

posted @ 2021-02-22 19:51  找不到北的北  阅读(108)  评论(0)    收藏  举报