用抽象类来模拟动物的叫声

Animal.java

public abstract class Animal {
    public abstract void cry();
    public abstract String getAnimalName();
}
  • 1
  • 2
  • 3
  • 4
  • 5

Simulator.java

public class Simulator {
    void PlaySound(Animal animal) {
        // TODO Auto-generated method stub
        animal.cry();
        System.out.println(animal.getAnimalName());
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Dog.java

public class Dog extends Animal {

    @Override
    public void cry() {
        // TODO Auto-generated method stub
        System.out.println("汪汪汪!");
    }

    @Override
    public String getAnimalName() {
        // TODO Auto-generated method stub
        return "dog";
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

Cat.java

public class Cat extends Animal {

    @Override
    public void cry() {
        // TODO Auto-generated method stub
        System.out.println("喵喵喵!");
    }

    @Override
    public String getAnimalName() {
        // TODO Auto-generated method stub
        return "car";
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

Application.java

public class Application {
    public static void main(String[] args) {
        Simulator simulator=new Simulator();
        simulator.PlaySound(new Dog());
        simulator.PlaySound(new Cat());
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

运行结果:

汪汪汪!
dog
喵喵喵!
car

你可能感兴趣的:(java)