Animal类:
public abstract class Animal {
String name;
int sound;
//构造抽象类方法
public abstract void cry();
public abstract String getAnimalName();
public void ccry(){
System.out.println("");
}
String getAnimalNamee(){
System.out.println("我的名字是:"+name);
return name;
}
}
Dog类:
public class Dog extends Animal { //子类继承父类
String name="小白";
//子类重写父类方法
public String getAnimalName() {
System.out.println("我的名字是:"+name);
return name;
}
public void cry() {
System.out.println("汪汪......");
}
}Cat类:
public class Cat extends Animal {
String name="小咪";
//子类重写父类方法
public String getAnimalName() {
System.out.println("我的名字是:"+name);
return name;
}
public void cry() {
System.out.println("喵猫......");
}
}
Simulator类:
public class Simulator {
public void playSound(Animal animal){//构造Animal类型的参数animal
//调用父类方法
animal.cry();
animal.getAnimalName();
}
}Application 类:
public class Application {
public static void main(String[] args) {
Simulator simulator=new Simulator ();
Animal animal =new Dog(); //animal 是Dog的上转型对象,调用子类Dog的方法。
Animal animal1 =new Cat();
simulator.playSound(animal);
simulator.playSound(animal1);////animal 是Cat的上转型对象,调用子类cat的方法。
}
}
分析:abstract:抽象类,不能把类实例化。
本文探讨如何设计一个Animal类作为抽象基类,以及Simulator类用于模拟各种动物的叫声。通过这种方式,我们可以创建不同动物的子类,实现它们独特的叫声模拟功能。
2万+





