public abstract class Animal {
abstract void cry();
abstract String getAnmialName();
}
public class Simulator {
public void playSound(Animal animal){
System.out.println(animal.getAnmialName());
animal.cry();
}
}
public class Cat extends Animal{
public String name;
public Cat(String name) {
this.name=name;
}
void cry() {
System.out.println("猫叫是:喵喵喵");
}
String getAnmialName() {
System.out.println("猫猫的名字"+this.name);
return "动物的种类是猫";
}
}
public class Dog extends Animal{
public String name;
public Dog(String name) {
this.name=name;
}
void cry() {
System.out.println("狗叫是:汪汪汪");
}
String getAnmialName() {
System.out.println("狗狗的名字"+this.name);
return "动物的种类是狗";
}
}
public class Text {
public static void main(String[] args) {
Simulator simulator=new Simulator();
Dog dog=new Dog("点点");
simulator.playSound(dog);
Cat cat=new Cat("白白");
simulator.playSound(cat);
}
}
运行结果:
狗狗的名字点点
动物的种类是狗
狗叫是:汪汪汪
猫猫的名字白白
动物的种类是猫
猫叫是:喵喵喵