java创建一个抽象类Car,它有一个抽象方法display 0和两个成员变量wheelNum、seatNum.,分别表示轮子数和座位数。类bus和类motorcycle 继承自类Car,实现输出成员变量的display0方法。在主方法中用向上转型对象调用display0 方法
时间: 2023-07-16 18:17:37 浏览: 62
下面是Java代码实现:
```java
abstract class Car {
protected int wheelNum;
protected int seatNum;
public abstract void display0();
}
class Bus extends Car {
public Bus(int wheelNum, int seatNum) {
this.wheelNum = wheelNum;
this.seatNum = seatNum;
}
@Override
public void display0() {
System.out.println("Bus has " + wheelNum + " wheels and " + seatNum + " seats.");
}
}
class Motorcycle extends Car {
public Motorcycle(int wheelNum, int seatNum) {
this.wheelNum = wheelNum;
this.seatNum = seatNum;
}
@Override
public void display0() {
System.out.println("Motorcycle has " + wheelNum + " wheels and " + seatNum + " seats.");
}
}
public class Main {
public static void main(String[] args) {
Car bus = new Bus(4, 30);
Car motorcycle = new Motorcycle(2, 2);
bus.display0();
motorcycle.display0();
}
}
```
运行结果:
```
Bus has 4 wheels and 30 seats.
Motorcycle has 2 wheels and 2 seats.
```
在主方法中,我们首先用向上转型将 Bus 和 Motorcycle 对象赋值给 Car 类型的变量,然后调用它们的 display0 方法,这样就不需要知道具体是哪个子类对象了。