请编写两个子类:Plane类和Car类。具体要求: 子类中必须要有有参构造器,且构造器要调用父类构造器实现传参。 子类分别从写父类的run方法,方法体要输出内容示例:“福特轿车正以100km/h/的速度在公路上行驶”。 定义测试类,利用多态创建父类引用类型指向子类具体对象(某一交通工具),然后调用方法run。
时间: 2024-02-03 21:11:24 浏览: 72
下面是代码实现:
```java
// 父类
public class Vehicle {
protected String brand; // 品牌
protected double speed; // 速度
public Vehicle(String brand, double speed) {
this.brand = brand;
this.speed = speed;
}
public void run() {
System.out.println(brand + "正以" + speed + "km/h的速度行驶");
}
}
// 子类1:Plane类
public class Plane extends Vehicle {
private int height; // 高度
public Plane(String brand, double speed, int height) {
super(brand, speed);
this.height = height;
}
@Override
public void run() {
System.out.println(brand + "正以" + speed + "km/h的速度在" + height + "米的高空飞行");
}
}
// 子类2:Car类
public class Car extends Vehicle {
public Car(String brand, double speed) {
super(brand, speed);
}
@Override
public void run() {
System.out.println(brand + "正以" + speed + "km/h的速度在公路上行驶");
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Vehicle vehicle1 = new Plane("波音747", 900, 10000);
vehicle1.run(); // 波音747正以900.0km/h的速度在10000米的高空飞行
Vehicle vehicle2 = new Car("福特轿车", 100);
vehicle2.run(); // 福特轿车正以100km/h的速度在公路上行驶
}
}
```
阅读全文