java:编写程序,定义一个名为Swimmable(可游泳的)的接口,其中包含void swim()方法,定义另一个名为Flyable(可飞的)的接口,其中包含void fly()方法。 定义一个名为Animal的抽象类,其中包含一个抽象方法void eat()。定义一个名为WildDuck(野鸭)的类实现上述两个接口,并继承Animal类。 编写main()方法,在其中创建一个WildDuck实例,调用它的各种方法。将WildDuck实例分别赋值给一个Swimmalbe引用、Flyable引用和Animal引用,测试通过这些引用能否调用相应接口或抽象类中定义的方法。
时间: 2024-03-25 22:41:16 浏览: 181
好的,以下是您所需的Java代码:
```java
// Swimmable接口
interface Swimmable {
void swim();
}
// Flyable接口
interface Flyable {
void fly();
}
// Animal抽象类
abstract class Animal {
abstract void eat();
}
// WildDuck类实现Swimmable、Flyable接口并继承Animal抽象类
class WildDuck extends Animal implements Swimmable, Flyable {
@Override
void eat() {
System.out.println("WildDuck is eating.");
}
@Override
public void swim() {
System.out.println("WildDuck is swimming.");
}
@Override
public void fly() {
System.out.println("WildDuck is flying.");
}
}
// 测试
public class Test {
public static void main(String[] args) {
WildDuck wildDuck = new WildDuck();
// 通过Swimmable引用调用swim()方法
Swimmable swimmable = wildDuck;
swimmable.swim();
// 通过Flyable引用调用fly()方法
Flyable flyable = wildDuck;
flyable.fly();
// 通过Animal引用调用eat()方法
Animal animal = wildDuck;
animal.eat();
}
}
```
输出结果如下:
```
WildDuck is swimming.
WildDuck is flying.
WildDuck is eating.
```
以上代码实现了定义Swimmable、Flyable接口和Animal抽象类,并在WildDuck类中实现了这些接口并继承了Animal类。在main()方法中,创建了一个WildDuck实例,并将其分别赋值给Swimmable、Flyable和Animal引用,测试了通过这些引用能否调用相应接口或抽象类中定义的方法。
阅读全文