定义一个接口canFly,其中,含有speed()方法,定义一个抽象类Machine,其中含work()方法,定义具体类AirPlane,继承Machine并实现canFly接口,每个飞机有型号、飞行速度,编写构造方法,toString()方法,飞机的work() 方法调用时,输出“正在飞行,速度为…”。 创建一个飞机对象测试,执行对象work()方法; 将飞机对象赋值给canFly 类型变量,测试输出其对象描述信息及speed()结果。(Java实现)
时间: 2024-03-03 18:48:57 浏览: 105
以下是Java实现的代码:
```
// 定义canFly接口
interface canFly {
void speed();
}
// 定义抽象类Machine
abstract class Machine {
public abstract void work();
}
// 定义具体类AirPlane
class AirPlane extends Machine implements canFly {
private String model;
private double flightSpeed;
public AirPlane(String model, double flightSpeed) {
this.model = model;
this.flightSpeed = flightSpeed;
}
// 实现canFly接口的speed方法
public void speed() {
System.out.println("飞机的飞行速度为:" + flightSpeed + "km/h");
}
// 实现Machine抽象类的work方法
public void work() {
System.out.println("正在飞行,速度为:" + flightSpeed + "km/h");
}
// 重写toString方法
public String toString() {
return "飞机型号为:" + model + ",飞行速度为:" + flightSpeed + "km/h";
}
}
// 测试类
public class Test {
public static void main(String[] args) {
// 创建一个AirPlane对象
AirPlane airPlane = new AirPlane("波音747", 900);
// 执行work方法
airPlane.work();
// 将airPlane对象赋值给canFly类型变量
canFly fly = airPlane;
// 测试输出其对象描述信息及speed()结果
System.out.println(fly.toString());
fly.speed();
}
}
```
执行结果为:
```
正在飞行,速度为:900.0km/h
飞机型号为:波音747,飞行速度为:900.0km/h
飞机的飞行速度为:900.0km/h
```