Java 继承

创建于 2024-12-02 / 33
字体: [默认] [大] [更大]

Java 继承(子类和超类)

Java 中可以将属性和方法从一个类继承到另一个类。我们将"继承概念"分为两类:

  • 子类 (Subclass) - 子,从另一个类继承的类
  • 超类 (Superclass) - 父,被继承的类

要从类继承,请使用 extends关键字。

在下面的示例中,Car类(子类)继承了Vehicle类(超类)的属性和方法:

实例

class Vehicle {
  protected String brand = "Ford";        // Vehicle 属性
  public void honk() {                    // Vehicle 方法
    System.out.println("Tuut, tuut!");
  }
}

class Car extends Vehicle {
  private String modelName = "Mustang";    // Car 属性
  public static void main(String[] args) {

    // 创建一个 myCar 对象
    Car myCar = new Car();

    // 在 myCar 对象上调用 honk() 方法(来自 Vehicle 类)
    myCar.honk();

    // 显示 brand 属性的值(来自 Vehicle 类)和来自 Car 类的 modelName 值
    System.out.println(myCar.brand + " " + myCar.modelName);
  }
}

运行实例 »

您是否注意到Vehicle中的protected修饰符?

我们将Vehicle中的brand属性设置为protected受保护的访问修饰符。 如果设置为private,则Car类将无法访问它。

为什么使用继承?

- 因为它对于代码的可重用性很有用:在创建新类时重用现有类的属性和方法。

提示: 下一章, 多态,它使用继承的方法来执行不同的任务。


最后一个关键字 如果不希望其他类从类继承,请使用final关键字: 如果尝试访问最后一个类,Java将生成一个错误:

final 关键字

如果不希望其他类从类继承,请 final 关键字:

如果尝试访问 final 类,Java将产生一个错误:

final class Vehicle {
  ...
}

class Car extends Vehicle {
  ...
}

输出如下所示:

Car.java:8: error: cannot inherit from final Vehicle
class Car extends Vehicle {
                  ^
1 error)
运行实例 »

0 人点赞过