Java-继承

这里写图片描述

主要代码

public abstract class Animal {  

    public abstract void cry();  
    public abstract String getAnimalName();  

}
public class Simulator {  

    public void playSound(Animal animal) {        //根据上转型,参数为父类对象Animal,可以不必知道子类是什么对象  
        System.out.print(animal.getAnimalName()+":");      //操作子类重写的方法  
        animal.cry();         
    }  
}  
public class Dog extends Animal{  

    @Override  
    public void cry() {  
        System.out.println("汪汪汪");      //子类重写父类方法  
    }  

    @Override  
    public String getAnimalName() {  
        return "小狗";  
    }  

}
public class Cat extends Animal{  

    @Override  
    public void cry() {  
        System.out.println("喵喵喵");  
    }  

    @Override  
    public String getAnimalName() {  
        return "小猫";  
    }  
public class Application {  

    public static void main(String[] args) {  

        Simulator simulator=new Simulator();  
        simulator.playSound(new Dog());           //创建子类对象并传递  
        simulator.playSound(new Cat());  
    }  
}  

这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章