使用Java编写二手车交易,采用父类子类,以及重写与重载,表明注释
时间: 2024-11-27 07:15:49 浏览: 3
在Java中,我们可以创建一个二手车交易系统来模拟多态的概念。首先,我们可以定义一个基础的`Vehicle`类作为父类,它包含通用属性如品牌、型号和年份等:
```java
// Vehicle.java (父类)
public class Vehicle {
private String brand;
private String model;
private int year;
// 构造函数
public Vehicle(String brand, String model, int year) {
this.brand = brand;
this.model = model;
this.year = year;
}
// 通用方法,例如获取车辆信息
// 由于是父类方法,可能会有默认行为
public void getInfo() {
System.out.println("Brand: " + brand + ", Model: " + model + ", Year: " + year);
}
// 方法重载示例 - 按照车型打印信息
public void getInfo(String specificInfo) {
System.out.println(specificInfo + ": " + getSpecificValue());
}
// 定义一个空的getSpecificValue()方法,需要子类覆盖
protected abstract String getSpecificValue();
}
```
然后,我们为二手车创建一些子类,比如`Car`和`Motorcycle`,它们继承自`Vehicle`并重写`getSpecificValue()`方法以体现各自的特性:
```java
// Car.java (子类)
public class Car extends Vehicle {
@Override
protected String getSpecificValue() {
return "This is a car with extra features.";
}
}
// Motorcycle.java (子类)
public class Motorcycle extends Vehicle {
@Override
protected String getSpecificValue() {
return "This is a motorcycle with built-in luggage.";
}
}
```
现在,用户可以创建任意类型的车辆实例,并通过父类引用调用方法,这里展示方法重载和重写的例子:
```java
public class Main {
public static void main(String[] args) {
Vehicle vehicle = new Car("Toyota", "Camry", 2020); // 创建Car对象
vehicle.getInfo(); // 打印默认信息
vehicle.getInfo("Features"); // 调用重载方法
Vehicle otherVehicle = new Motorcycle("Honda", "CBR600", 2021); // 创建Motorcycle对象
otherVehicle.getInfo(); // 同样打印默认信息
otherVehicle.getInfo("Luggage"); // 调用摩托车特有的重写方法
// 体现了多态,虽然引用是Vehicle类型,但实际操作的是子类的行为
}
}
```
阅读全文