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)