java 假设有一个接口 Animal ,其中定义了两个抽象方法 eat() 和 makeSound() ,分别用于描述动物吃东西和发出声音的行为。请你编写两个具体的类 Dog 和 Cat 分别实现这个接口,并根据各自的特点来实现这两个方法,并实现测试类进行测试。
时间: 2024-11-29 07:36:16 浏览: 3
入门必看的5个JAVA经典实例
在Java中,首先我们需要定义`Animal`接口:
```java
public interface Animal {
void eat();
void makeSound();
}
```
然后我们可以创建两个实现了`Animal`接口的具体类,如`Dog`和`Cat`:
```java
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("狗正在吃骨头");
}
@Override
public void makeSound() {
System.out.println("狗叫汪汪");
}
}
public class Cat implements Animal {
@Override
public void eat() {
System.out.println("猫正在吃鱼");
}
@Override
public void makeSound() {
System.out.println("猫喵喵叫");
}
}
```
接下来,我们可以创建一个测试类`TestAnimal`来展示多态的应用:
```java
public class TestAnimal {
public static void main(String[] args) {
Animal dog = new Dog(); // 创建Dog实例
Animal cat = new Cat(); // 创建Cat实例
dog.eat(); // 输出 "狗正在吃骨头"
dog.makeSound(); // 输出 "狗叫汪汪"
cat.eat(); // 输出 "猫正在吃鱼"
cat.makeSound(); // 输出 "猫喵喵叫"
}
}
```
在这个例子中,虽然我们使用的是`Animal`类型的引用,但在运行时实际上是调用了`Dog`和`Cat`类的相应方法,这就是多态性的一个体现。
阅读全文