编写一个汽车类Vehicle,包含变量“轮子数量”和“汽车重量”,包含构造方法和输出变量信息方法;汽车类Car是Vehicle的子类,继承了父类的变量和方法,有自己的构造方法,并新增了一个变量“载人数量”,重写了从父类中继承来的输出变量信息方法,以输出自己所有的变量信息;卡车类Truck是Car类的子类,继承了父类的属性和方法,有自己的构造方法,并新增了一个变量“最高载重量”,重写了从父类中继承来的输出变量信息方法,以输出自己所有的变量信息。编写主类,首先声明Vehicle类的对象vehi,然后创建Car类的对象并将这个对象的引用赋给vehi,vehi对象调用输出变量信息方法;再创建Truck类的对象并将这个对象的引用赋给vehi,vehi对象再调用输出变量信息方法。
时间: 2024-02-13 13:04:03 浏览: 105
好的,根据您的要求,我给您编写一个符合要求的Java程序:
```
class Vehicle {
int wheelNum;
double weight;
public Vehicle(int wheelNum, double weight) {
this.wheelNum = wheelNum;
this.weight = weight;
}
public void showInfo() {
System.out.println("轮子数量:" + wheelNum);
System.out.println("汽车重量:" + weight + "吨");
}
}
class Car extends Vehicle {
int passengerNum;
public Car(int wheelNum, double weight, int passengerNum) {
super(wheelNum, weight);
this.passengerNum = passengerNum;
}
@Override
public void showInfo() {
super.showInfo();
System.out.println("载人数量:" + passengerNum + "人");
}
}
class Truck extends Car {
double maxLoad;
public Truck(int wheelNum, double weight, int passengerNum, double maxLoad) {
super(wheelNum, weight, passengerNum);
this.maxLoad = maxLoad;
}
@Override
public void showInfo() {
super.showInfo();
System.out.println("最高载重量:" + maxLoad + "吨");
}
}
public class Main {
public static void main(String[] args) {
Vehicle vehi;
// 创建Car类的对象并将这个对象的引用赋给vehi
vehi = new Car(4, 1.5, 5);
vehi.showInfo();
// 创建Truck类的对象并将这个对象的引用赋给vehi
vehi = new Truck(6, 3.5, 3, 10.0);
vehi.showInfo();
}
}
```
程序输出结果如下:
```
轮子数量:4
汽车重量:1.5吨
载人数量:5人
轮子数量:6
汽车重量:3.5吨
载人数量:3人
最高载重量:10.0吨
```
请注意,程序中的类名、变量名和方法名都是按照您的要求命名的。
阅读全文