On this page
article
Application.java
abstract class Animal{
public abstract void cry();
public abstract String getAnimalName();
}
class Simulator{
void playSound(Animal animal){
animal.cry();
System.out.println(animal.getAnimalName());
}
}
class Dog extends Animal{
public void cry(){
System.out.println("汪汪汪");
}
public String getAnimalName(){
return "Dog";
}
}
class Cat extends Animal{
public void cry(){
System.out.println("喵喵喵");
}
public String getAnimalName(){
return "Cat";
}
}
public class Application{
public static void main(String[] arg){
Simulator simulator=new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
}
}