Animal类:
package bzu.aa;
public abstract class Animal {
abstract void cry();
abstract void getAnimalName();
}
abstract void cry();
abstract void getAnimalName();
}
子类Dog:
package bzu.aa;
public class Dog extends Animal {
@Override
void cry() {
// TODO Auto-generated method stub
System.out.println("汪汪");
}
void cry() {
// TODO Auto-generated method stub
System.out.println("汪汪");
}
@Override
void getAnimalName() {
// TODO Auto-generated method stub
System.out.println("狗");
}
void getAnimalName() {
// TODO Auto-generated method stub
System.out.println("狗");
}
子类Cat:
package bzu.aa;
public class Cat extends Animal {
@Override
void cry() {
// TODO Auto-generated method stub
System.out.println("喵喵");
}
void cry() {
// TODO Auto-generated method stub
System.out.println("喵喵");
}
@Override
void getAnimalName() {
// TODO Auto-generated method stub
System.out.println("猫");
}
void getAnimalName() {
// TODO Auto-generated method stub
System.out.println("猫");
}
}
模拟器类:
package bzu.aa;
public class Simulator {
void playSound(Animal aa){
aa.cry();
aa.getAnimalName();
}
}
aa.cry();
aa.getAnimalName();
}
}
测试类(TEST)
package bzu.aa;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Simulator simulator=new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
}
// TODO Auto-generated method stub
Simulator simulator=new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
}
}
运行结果:
本文介绍了一个抽象类Animal及其子类Dog和Cat的Java实现,通过Simulator类展示了多态的应用。运行测试类Test,根据不同动物实例调用相同方法名实现不同行为。
1089

被折叠的 条评论
为什么被折叠?



