设计一个名为Swimable的接口,其中包含void swim(0方法,设计另一个名为Flyable的接口,其中包含void fly()方法。定义一个Duck类实现上述两个接口。定义测试类,演示接口类型的使用。
时间: 2024-11-13 12:19:17 浏览: 19
首先,我们创建两个接口,`Swimable` 和 `Flyable`,分别用于描述能够游泳和飞行的行为:
```java
// Swimable 接口
public interface Swimable {
void swim();
}
// Flyable 接口
public interface Flyable {
void fly();
}
```
接着,我们定义一个 `Duck` 类,它实现了这两个接口:
```java
public class Duck implements Swimable, Flyable {
@Override
public void swim() {
System.out.println("The duck is swimming.");
}
@Override
public void fly() {
System.out.println("The duck is flying.");
}
}
```
为了演示接口类型的使用,我们可以创建一个测试类 `DemoTest`,在这个类里,我们将创建一个 `Duck` 对象,并作为 `Swimable` 和 `Flyable` 的实例来调用相应的方法:
```java
public class DemoTest {
public static void main(String[] args) {
// 创建一个 Duck 对象
Swimable swimmer = new Duck();
Flyable flyer = new Duck();
// 调用 Swimable 接口的方法
swimmer.swim(); // 输出 "The duck is swimming."
// 调用 Flyable 接口的方法
flyer.fly(); // 输出 "The duck is flying."
}
}
```
通过这个例子,你可以看到如何在一个类中同时实现多个接口,以及如何在测试类中按照接口类型进行操作,体现了多态的原则。
阅读全文