主要代碼
public abstract class Animal {
public abstract void cry();
public abstract String getAnimalName();
}
public class Simulator {
public void playSound(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());
}
}