Java 继承

Java 继承 (子类和超类)

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

  • 子类(子类)- 从另一个类继承的类
  • 超类(父类)- 从父类继承的类

要从类继承,请使用 extends 关键字。在下面的实例中,Car类(子类)继承了 Vehicle 类(超类)的属性和方法:

实例
  1. class Vehicle {
  2. protected String brand = "Ford";
  3. public void honk() {
  4. System.out.println("Tuut, tuut!");
  5. }
  6. }
  7. class Car extends Vehicle {
  8. private String modelName = "Mustang";
  9. public static void main(String[] args) {
  10. Car myFastCar = new Car();
  11. myFastCar.honk();
  12. System.out.println(myFastCar.brand + " " + myFastCar.modelName);
  13. }
  14. }
你注意到 Vehicleprotected 修饰符了吗?我们将 Vehicle 中的 brand 属性设置为 protected 访问修饰符。如果设置为 private,Car 类将无法访问它。

为什么以及何时使用 "继承"?

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

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


final 关键字

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

如果想访问 final 类,Java 将产生错误:

  1. final class Vehicle {
  2. ...
  3. }
  4. class Car extends Vehicle {
  5. ...
  6. }

结果大概是这样:

Main.java:9: error: cannot inherit from final Vehicle
class Main extends Vehicle {
^
1 error)