/* 抽象的类,封装两个行为*/
public abstract class Animal {abstract void cry();
abstract void getAnimalName();
}
/*继承父类,重写方法*/
public class Dog extends Animal{
void getAnimalName(){
System.out.println("小狗的的名字是:雪纳瑞");
};
void cry(){
System.out.println("小狗的叫声:汪汪~");
};
}
public class Cat extends Animal {
void getAnimalName(){
System.out.println("小猫的的名字是:可爱的猫猫");
};
void cry(){
System.out.println("小猫的叫声:喵喵~");
};
}
public class Simulator {
public void playsound(Animal animal){
if(animal instanceof Dog)
{
Dog d=(Dog)animal;
d.getAnimalName();
d.cry();
}
else if(animal instanceof Cat )
{
Cat t=(Cat)animal;
t.getAnimalName();
t.cry();
}
}
}
/*主类:进行测试*/
public class Application {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Simulator simulator=new Simulator();
simulator.playsound(new Dog());
simulator.playsound(new Cat());
}
}