最适合网络开发者的网站
Java 编程语言。初学者课程

尿素

Java 遗产


Java 继承(子类和超类)

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

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

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

在下面的例子中, Car 类(子类)从Vehicle 类(超类):

例子

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

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

    // Create a myCar object
    Car myCar = new Car();

    // Call the honk() method (from the Vehicle class) on the myCar object
    myCar.honk();

    // Display the value of the brand attribute (from the Vehicle class) and the value of the modelName from the Car class
    System.out.println(myCar.brand + " " + myCar.modelName);
  }
}
亲自尝试 »

你有没有注意到 protected 车辆中的修饰符?

我们设定 品牌 属性车辆protected 访问修饰符。如果设置为 private,Car 类将无法访问它。

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

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

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


final 关键字

如果不希望其他类继承自某个类,可以使用 final 关键词:

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

final class Vehicle {
  ...
}

class Car extends Vehicle {
  ...
}

输出将会像这样:

Main.java:9: error: cannot inherit from final Vehicle
class Main extends Vehicle {
                  ^
1 error)
亲自尝试 »