Application.java
public class Application {
public static void main(String args[])
{
Simulator simulator=new Simulator();
simulator.playSound(new Cat());
simulator.playSound(new Dog());
}
}
Animal.java
public abstract class Animal {
public abstract void cry();
public abstract String getAnimalName();
}
Cat.java
public class Cat extends Animal{
public void cry(){
System.out.println("喵呜"); }
public String getAnimalName(){
return "猫咪";
}
}
Dog.java
public class Dog extends Animal {
public void cry(){
System.out.println("汪汪");
}
public String getAnimalName(){
return "狗狗";
}
}
Simulator.java
public class Simulator {
public void playSound(Animal animal){
System.out.println(animal.getAnimalName()+"的叫声是:");
animal.cry();
}
}