![](https://img-blog.csdn.net/20171209211000570?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmlnaGluZzEyMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
package miniqi;
public abstract class Animal{
abstract void cry();
abstract String getAnimaName();
}
package miniqi;
public class Cat extends Animal{
void cry() {
System.out.println("动物的叫声是喵喵");
}
String getAnimaName() {
return "猫";
}
}
package miniqi;
public class Dog extends Animal{
void cry() {
System.out.println("动物的叫声是汪汪");
}
String getAnimaName() {
return "狗";
}
}
package miniqi;
public class Simulator {
void playSound(Animal animal) {
if(animal instanceof Dog) {
animal.cry();
System.out.println("动物的品种为"+animal.getAnimaName());}
else if(animal instanceof Cat){
animal.cry();
System.out.println("动物的品种为"+animal.getAnimaName());
}
}
}
package miniqi;
public class Application {
public static void main(String[] args) {
Simulator simulator = new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
}
}