编写一个Java应用程序,设计一个运输工具类Trartspoft,包含的成员属性有:速度、载重量;汽车类Vehicle是Transpoft的子类,其中包含的属性有:车轮个数和车重;飞机Airplane类是Transport的子类其中包含的属性有:机型和发动机数量,每个类都有相关数据的输出方法。运输工具Transport是父类,Vehicle类和Airplane类是它的子类。在设计时将公共的属性和方法放在父类Transport中。
时间: 2024-02-11 11:05:12 浏览: 91
好的,我明白了你的问题。以下是Java应用程序的代码:
```
// Transport.java
public class Transport {
protected double speed; // 速度
protected double carrying; // 载重量
public Transport(double speed, double carrying) {
this.speed = speed;
this.carrying = carrying;
}
public void showInfo() {
System.out.println("速度:" + speed);
System.out.println("载重量:" + carrying);
}
}
// Vehicle.java
public class Vehicle extends Transport {
private int wheels; // 车轮个数
private double weight; // 车重
public Vehicle(double speed, double carrying, int wheels, double weight) {
super(speed, carrying);
this.wheels = wheels;
this.weight = weight;
}
public void showInfo() {
super.showInfo();
System.out.println("车轮个数:" + wheels);
System.out.println("车重:" + weight);
}
}
// Airplane.java
public class Airplane extends Transport {
private String model; // 机型
private int engineNum; // 发动机数量
public Airplane(double speed, double carrying, String model, int engineNum) {
super(speed, carrying);
this.model = model;
this.engineNum = engineNum;
}
public void showInfo() {
super.showInfo();
System.out.println("机型:" + model);
System.out.println("发动机数量:" + engineNum);
}
}
// Main.java
public class Main {
public static void main(String[] args) {
Vehicle vehicle = new Vehicle(80.0, 5000.0, 4, 2.0);
Airplane airplane = new Airplane(900.0, 20000.0, "A380", 4);
vehicle.showInfo();
System.out.println();
airplane.showInfo();
}
}
```
在这个程序中,我们定义了一个Transport类作为父类,它包含了速度和载重量两个属性,并提供了一个showInfo方法用于输出这些属性的值。
接着,我们定义了Vehicle类和Airplane类作为Transport的子类,它们分别增加了车轮个数、车重和机型、发动机数量两个属性,并分别重写了showInfo方法以输出这些属性的值。在Vehicle和Airplane的构造函数中,我们使用了super关键字来调用父类Transport的构造函数,以初始化父类属性。
最后,在Main类中,我们创建了一个Vehicle对象和一个Airplane对象,并分别调用它们的showInfo方法输出属性的值。
阅读全文