天天看點

Java繼承

文章目錄

在 Java 中,可以将屬性和方法從一個類繼承到另一個類。我們将繼承概念分為兩類:

  • ubclass (child) - 從另一個類繼承的類
  • subclass (child) - 繼承自的類

    要從類繼承,使用extends 關鍵字。在下面的例子中,Car類(子類)繼承了Vehicle類(超類)的屬性和方法:

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

class Car extends Vehicle {
  private String modelName = "Mustang";
  public static void main(String[] args) {
    Car myFastCar = new Car();
    myFastCar.honk();
    System.out.println(myFastCar.brand + " " + myFastCar.modelName);
  }
}
      

運作:

Java繼承

如果你不希望其他類繼承自一個類,請使用final關鍵字。

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

class Main extends Vehicle {
  private String modelName = "Mustang";
  public static void main(String[] args) {
    Main myFastCar = new Main();
    myFastCar.honk();
    System.out.println(myFastCar.brand + " " + myFastCar.modelName);
  }
}
      

如果你嘗試通路一個final類,Java 會産生一個錯誤:

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