创建一个抽象类Car,它有一个抽象方法display()和两个成员变量wheelNum、seatNum,分别表示轮子数和座位数。类bus和类motorcycle继承自类Car,实现输出成员变量的display()方法。在主方法中用向上转型对象调用display()方法
时间: 2023-11-27 16:51:42 浏览: 51
设计一个Car类
以下是实现抽象类和继承的代码示例:
```java
// 抽象类 Car
public abstract class Car {
protected int wheelNum; // 轮子数
protected int seatNum; // 座位数
// 抽象方法 display
public abstract void display();
}
// 类 Bus 继承自 Car
public class Bus extends Car {
public Bus(int wheelNum, int seatNum) {
this.wheelNum = wheelNum;
this.seatNum = seatNum;
}
// 实现 display 方法
@Override
public void display() {
System.out.println("这是一辆公交车,有 " + wheelNum + " 个轮子,可以坐 " + seatNum + " 人。");
}
}
// 类 Motorcycle 继承自 Car
public class Motorcycle extends Car {
public Motorcycle(int wheelNum, int seatNum) {
this.wheelNum = wheelNum;
this.seatNum = seatNum;
}
// 实现 display 方法
@Override
public void display() {
System.out.println("这是一辆摩托车,有 " + wheelNum + " 个轮子,可以坐 " + seatNum + " 人。");
}
}
```
在主方法中,我们可以用向上转型的方式创建 Bus 和 Motorcycle 对象,并调用它们的 display 方法:
```java
public static void main(String[] args) {
Car bus = new Bus(4, 40); // 向上转型
Car motorcycle = new Motorcycle(2, 2); // 向上转型
bus.display();
motorcycle.display();
}
```
输出结果:
```
这是一辆公交车,有 4 个轮子,可以坐 40 人。
这是一辆摩托车,有 2 个轮子,可以坐 2 人。
```
阅读全文