Java 继承
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)