1、创建一个类"交通工具" ( Transport ),包含方法:行驶 2、创建三个子类:"汽车"( Car )、"自行车"( Bicycle )和 D "飞机"( Airplane ),每个子类实现
时间: 2024-10-13 14:11:45 浏览: 49
好的,首先,我们创建一个名为`Transport`的基类,表示所有可以行驶的交通工具:
```java
public abstract class Transport {
public abstract void行驶();
}
```
接着,我们分别创建三个子类:
1. `Car` ( 汽车 )
```java
public class Car extends Transport {
@Override
public void行驶() {
System.out.println("汽车正在行驶在公路上");
}
}
```
2. `Bicycle` ( 自行车 )
```java
public class Bicycle extends Transport {
@Override
public void行驶() {
System.out.println("自行车正在骑行");
}
}
```
3. `Airplane` ( 飞机 )
```java
public class Airplane extends Transport {
@Override
public void行驶() {
System.out.println("飞机正在空中飞行");
}
}
```
这些子类都实现了`Transport`类的`行驶`方法,并根据各自的特点给出了不同的行为描述。
相关问题
已知交通工具类Transport,代码如下图,请编写两个子类:Plane类和Car类。具体要求: 1.子类中必须要有有参构造器,且构造器要调用父类构造器实现传参。 2.子类分别从写父类的run方法,方法体要输出内容示例:“福特轿车正以100km/h/的速度在公路上行驶”。 3.定义测试类,利用多态创建父类引用类型指向子类具体对象(某一交通工具),然后调用方法run。
```
// Transport类
public class Transport {
private String name;
private int speed;
public Transport(String name, int speed) {
this.name = name;
this.speed = speed;
}
public void run() {
System.out.println(name + "正以" + speed + "km/h的速度行驶");
}
}
// Plane类
public class Plane extends Transport {
public Plane(String name, int speed) {
super(name, speed);
}
@Override
public void run() {
System.out.println(getName() + "正以" + getSpeed() + "km/h的速度在天空中飞行");
}
}
// Car类
public class Car extends Transport {
public Car(String name, int speed) {
super(name, speed);
}
@Override
public void run() {
System.out.println(getName() + "正以" + getSpeed() + "km/h的速度在公路上行驶");
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Transport transport = new Plane("波音747", 900);
transport.run();
transport = new Car("福特轿车", 100);
transport.run();
}
}
```
Java:已知交通工具类Transport,代码如下图,请编写两个子类:Plane类和Car类。具体要求: 子类中必须要有有参构造器,且构造器要调用父类构造器实现传参。 子类分别从写父类的run方法,方法体要输出内容示例:“福特轿车正以100km/h/的速度在公路上行驶”。 定义测试类,利用多态创建父类引用类型指向子类具体对象(某一交通工具),然后调用方法run。
下面是代码实现:
Transport类:
```java
public class Transport {
protected String name; // 名称
protected double speed; // 速度
public Transport(String name, double speed) {
this.name = name;
this.speed = speed;
}
public void run() {
System.out.println(name + "正以" + speed + "km/h的速度行驶");
}
}
```
Plane类:
```java
public class Plane extends Transport {
public Plane(String name, double speed) {
super(name, speed);
}
@Override
public void run() {
System.out.println(name + "正以" + speed + "km/h的速度在天空中飞行");
}
}
```
Car类:
```java
public class Car extends Transport {
public Car(String name, double speed) {
super(name, speed);
}
@Override
public void run() {
System.out.println(name + "正以" + speed + "km/h的速度在公路上行驶");
}
}
```
Test类:
```java
public class Test {
public static void main(String[] args) {
Transport t1 = new Plane("波音747", 900);
t1.run();
Transport t2 = new Car("福特轿车", 100);
t2.run();
}
}
```
输出结果:
```
波音747正以900.0km/h的速度在天空中飞行
福特轿车正以100.0km/h的速度在公路上行驶
```
阅读全文