Java利用继承的思想,定义交通工具抽象类,实现汽车、火车、飞机子类,编写上转型程序并输出各个交通工具的乘坐信息。
时间: 2024-10-21 08:01:31 浏览: 42
Java通过继承机制,可以创建一个抽象的"交通工具"类,包含一些通用的信息和行为,比如"行驶"的方法。然后我们可以为具体的交通工具如"汽车"、"火车"和"飞机"分别创建子类,并在这些子类中提供特有的特性和方法。
例如:
```java
abstract class Vehicle {
abstract void drive();
public void display() {
System.out.println("This is a vehicle.");
}
}
class Car extends Vehicle {
void drive() {
System.out.println("Driving a car.");
}
}
class Train extends Vehicle {
void drive() {
System.out.println("Traveling by train.");
}
}
class Airplane extends Vehicle {
void drive() {
System.out.println("Flying in an airplane.");
}
}
public class Main {
public static void main(String[] args) {
Vehicle car = new Car(); // 上转型
Vehicle train = new Train();
Vehicle airplane = new Airplane();
car.drive(); // 输出: Driving a car.
train.drive(); // 输出: Traveling by train.
airplane.drive(); // 输出: Flying in an airplane.
car.display(); // 所有交通工具都显示这个公共信息
train.display();
airplane.display();
}
}
```
在这个例子中,`Vehicle`是一个抽象类,而`Car`, `Train`, 和 `Airplane` 都是从`Vehicle`派生的子类。在`main`函数中,我们将这些子类的对象赋值给`Vehicle`类型的引用,这就是所谓的"上转型"。当我们调用它们的`drive()`方法时,由于方法重写,会执行子类中的具体实现,展示了多态的优势。
阅读全文