练习2:抽象类与普通类结合定义一个抽象类Vehicle,包含普通方法startEngine(和抽象方法move()。创建子类Car和Bike,并利用Test实现不同的move()方法。
时间: 2024-10-23 08:02:56 浏览: 40
在Java中,可以将抽象类与普通类结合起来,构建一个更丰富的层次结构。例如,我们可以定义一个名为`Vehicle`的抽象类,它包含一个普通方法`startEngine()`和一个抽象方法`move()`。这样的设计允许所有车辆都有启动引擎的行为,同时让具体的移动行为留给子类去实现。
```java
public abstract class Vehicle {
// 普通方法 startEngine
public void startEngine() {
System.out.println("Starting engine...");
}
// 抽象方法 move
public abstract void move();
}
```
接着,我们可以创建两个子类`Car`和`Bike`,它们都继承自`Vehicle`并实现`move()`方法:
```java
public class Car extends Vehicle {
@Override
public void move() {
System.out.println("Driving the car on the road.");
}
}
public class Bike extends Vehicle {
@Override
public void move() {
System.out.println("Riding the bike on the street.");
}
}
```
最后,为了测试这两个子类的不同行为,我们可以创建一个`Test`类,实例化它们并调用各自的方法:
```java
public class Test {
public static void main(String[] args) {
Car car = new Car();
car.startEngine(); // 输出 "Starting engine..."
car.move(); // 输出 "Driving the car on the road."
Bike bike = new Bike();
bike.startEngine(); // 输出 "Starting engine..."
bike.move(); // 输出 "Riding the bike on the street."
}
}
```
阅读全文