(1) 定义一-个名为Swimmable (可游泳的)的接口,其中包含void swim ()
方法,定义另一个名为Flyable (可飞的)的接口,其中包含- -个名为void fly
的方法。
(2)定义一个名为Animal的抽象类,其中包含一个void eat () 的抽象方法。
(3)定义一个名为WildDuck (野鸭)的类实现上述两个接口,并继承Animal
类。编写main ()方法,在其中创建一个WildDuck实例,调用他的各种方法。
(4)将WildDuck实例分别赋值给一个Swimmable引用,Flyable 引用和Animal
引用,测试通过这些引用能否调用相应接口或抽象类中定义的方法。
public class Asak {
public static void main(String[] args) {
WildDuck a1=new WildDuck();
a1.eat();
a1.fly();
a1.swim();
Swimmable a2=a1;
a2.swim();
Flyable a3=a1;
a3.fly();
Animal a4=a1;
a4.eat();
}
}
interface Swimmable{
void swim();
}
interface Flyable{
void fly();
}
abstract class Animal{
public abstract void eat();
}
class WildDuck extends Animal implements Swimmable,Flyable{
@Override
public void swim() {
System.out.println("水中游");
}
@Override
public void fly(){
System.out.println("天上飞");
}
@Override
public void eat(){
System.out.println("吃草");
}
}