java创建一个父类"Vehicle",并让"Car"和"Motorbike"继承它。然后利用多态创建一个"Vehicle"数组,装载各种不同的"Vehicle"对象,并在测试类中进行测试
时间: 2024-11-16 19:20:10 浏览: 47
在Java中,我们可以首先创建一个名为`Vehicle`的抽象父类,包含所有车辆共有的基本属性和方法,比如`speed`和`move()`:
```java
abstract class Vehicle {
protected double speed;
public Vehicle(double speed) {
this.speed = speed;
}
public abstract void move();
public double getSpeed() {
return speed;
}
}
// 接下来,让Car和Motorbike继承Vehicle
class Car extends Vehicle {
public Car(double speed) {
super(speed);
}
@Override
public void move() {
System.out.println("Car is moving at " + speed + " km/h.");
}
}
class Motorbike extends Vehicle {
public Motorbike(double speed) {
super(speed);
}
@Override
public void move() {
System.out.println("Motorbike is moving at " + speed + " km/h.");
}
}
```
然后,在测试类中,我们可以创建一个`Vehicle`类型的数组,容纳不同类型的具体车辆实例,并通过多态调用他们的`move()`方法:
```java
public class TestPolymorphism {
public static void main(String[] args) {
Vehicle[] vehicles = new Vehicle[2];
vehicles[0] = new Car(60); // 创建一个Car对象
vehicles[1] = new Motorbike(80); // 创建一个Motorbike对象
for (Vehicle vehicle : vehicles) {
vehicle.move(); // 这里会动态调用每个车辆的move方法
}
}
}
```
当你运行`main`方法时,输出将是:
1. `Car is moving at <speed> km/h.`
2. `Motorbike is moving at <speed> km/h.`
这里使用了多态的优势,即我们不需要提前知道具体的车辆类型,只需依赖它们共同的父类型`Vehicle`就可以统一处理。
阅读全文