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

這裏寫圖片描述

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