使用java设计一个关于父类Car与子类Benz继承关系的类结构,并在此结构中实现方法多态(重载/重写)和类型多态
时间: 2024-10-22 15:20:30 浏览: 55
在Java中,我们可以创建一个简单的父类`Car`,然后通过继承它来定义一个子类`Benz`,体现继承关系。同时,我们将在这个结构中演示方法多态(重载和重写)以及类型多态。
首先,我们定义`Car`父类,包含一些通用属性和行为:
```java
public class Car {
private String brand;
public Car(String brand) {
this.brand = brand;
}
// 父类方法,例如展示品牌信息
public void showInfo() {
System.out.println("This is a " + brand + " car.");
}
// 方法重载 - 根据不同的参数类型显示信息
public void displayInfo(int year) {
System.out.println("This is a " + brand + " car from " + year + ".");
}
}
```
接下来,我们定义`Benz`子类,继承自`Car`并重写其中一个方法和添加新的方法:
```java
public class Benz extends Car {
public Benz(String brand, int year) {
super(brand);
// 子类构造函数
this.year = year;
}
// 方法重写 - 在Benz中特定的行为
@Override
public void showInfo() {
System.out.println("This is a " + brand + " Benz with " + year + " years old.");
}
// 类型多态示例 - 定义一个新的与父类方法同名但参数不同的方法
public void displayInfo(String description) {
System.out.println("The " + brand + " Benz has a special feature: " + description);
}
}
```
现在,你可以看到在`Benz`类中,`showInfo()`方法被重写了,而`displayInfo()`方法则展示了类型多态,因为子类添加了一个新版本的该方法,使得调用者可以根据传入的具体类型得到不同的结果。
阅读全文