题目要求:
定义一个接口canFly,其中,含有speed()方法,定义一个抽象类Machine,其中含work()方法,定义具体类AirPlane,继承Machine并实现canFly接口,每个飞机有型号、飞行速度,编写构造方法,toString()方法,飞机的work() 方法调用时,输出“正在飞行,速度为…”。
创建一个飞机对象测试,执行对象work()方法;
将飞机对象赋值给canFly 类型变量,测试输出其对象描述信息及speed()结果。
interface canFly {
int speed();
}
abstract class Machine {
abstract void work();
}
class AirPlane extends Machine implements canFly {
private String model;
private int speed;
public AirPlane(String model, int speed) {
this.model = model;
this.speed = speed;
}
public String toString() {
return "AirPlane: " + model;
}
public int speed() {
return speed;
}
public void work() {
System.out.println("正在飞行,速度为" + speed + "km/h");
}
}
public class Main {
public static void main(String[] args) {
AirPlane airplane = new AirPlane("Boeing 747", 900);
airplane.work();
canFly fly = airplane;
System.out.println(fly.toString() + ", speed: " + fly.speed() + "km/h");
}
}
运行结果