设计一个汽车类 Car 类,包含的属性有车轮的个数 wheels 和车重 weight。 小汽车类 SmallCar 是 Car 类的子类。包含的属性有载人数 loader。卡车 类 Truck 类是 SmallCar 类的子类,其中包含的属性有载重量 payload,每 个类都有构造方法和输出相关数据的方法。编写程序测试类。java编写在一个类名
时间: 2024-03-27 20:35:23 浏览: 72
为 CarDemo 的文件中。
以下是代码实现:
```java
public class Car {
protected int wheels;
protected double weight;
public Car(int wheels, double weight) {
this.wheels = wheels;
this.weight = weight;
}
public void display() {
System.out.println("车轮个数:" + wheels);
System.out.println("车重:" + weight);
}
}
public class SmallCar extends Car {
private int loader;
public SmallCar(int wheels, double weight, int loader) {
super(wheels, weight);
this.loader = loader;
}
public void display() {
super.display();
System.out.println("载人数:" + loader);
}
}
public class Truck extends SmallCar {
private double payload;
public Truck(int wheels, double weight, int loader, double payload) {
super(wheels, weight, loader);
this.payload = payload;
}
public void display() {
super.display();
System.out.println("载重量:" + payload);
}
}
public class CarDemo {
public static void main(String[] args) {
Car car = new Car(4, 1000);
SmallCar smallCar = new SmallCar(4, 800, 5);
Truck truck = new Truck(6, 5000, 3, 10000);
System.out.println("普通汽车:");
car.display();
System.out.println();
System.out.println("小汽车:");
smallCar.display();
System.out.println();
System.out.println("卡车:");
truck.display();
System.out.println();
}
}
```
以上代码实现了一个基本的汽车类和两个子类 SmallCar 和 Truck。在测试类 CarDemo 中,分别创建了一个普通汽车、一个小汽车和一个卡车,然后通过调用对应的 display() 方法输出各自的信息。
注意:为了让子类能够访问父类的属性和方法,需要使用关键字 `super`。同时,为了让子类能够覆盖父类的方法,需要在子类中重新定义同名的方法。
阅读全文