java接口Animal具有一个抽象方法cry。 ② 类Dog实现Animal接口,并实现cry方法。 ③ 类Cat实现Animal接口并实现cry方法。 编写测试类,分别实现接口实现多态,利用方法的Animal接口参数实现多态。
时间: 2024-12-16 07:23:41 浏览: 15
在Java中,接口是一种规范,它包含了一组抽象方法,类如果要实现这个接口就必须提供这些方法的实现。你提到的情况是这样的:
1. 定义了一个名为`Animal`的接口,该接口有一个抽象方法`cry()`,这是为了保证所有实现`Animal`接口的类都必须提供这个叫声行为。
```java
public interface Animal {
void cry();
}
```
2. `Dog`和`Cat`类都实现了`Animal`接口,它们各自提供了自己的`cry()`方法的具体实现。例如,`Dog`可能有“汪汪”叫声,而`Cat`则有“喵喵”叫声。
```java
class Dog implements Animal {
@Override
public void cry() {
System.out.println("Dog says woof!");
}
}
class Cat implements Animal {
@Override
public void cry() {
System.out.println("Cat says meow!");
}
}
```
3. 接下来,我们可以创建一个测试类,通过`Animal`类型的引用来调用`cry()`方法,这就是多态性的体现,因为我们不知道具体是哪一种动物,只要它实现了`Animal`接口,就可以执行`cry()`方法。
```java
public class Test {
public static void main(String[] args) {
Animal dog = new Dog();
Animal cat = new Cat();
dog.cry(); // 输出 "Dog says woof!"
cat.cry(); // 输出 "Cat says meow!"
// 这里展示了动态绑定,实际运行时会根据传入的对象实例确定调用哪个cry方法
}
}
```
阅读全文