Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
不同种类的物体通常具有一定的共同点。例如,山地自行车,公路自行车和双人自行车都具有自行车的特征(当前速度,当前踏板节奏,当前档位)。然而每一个也定义了使它们不同的附加特征:双人自行车有两个座位和两组把手;公路自行车有 drop 把手;一些山地自行车有一个额外的链环,给他们一个较低的传动比。
面向对象编程允许从其他类 inherit (继承) 常用的状态和行为。在这个例子中,Bicycle
现在成为 MountainBike
,RoadBike
和 TandemBike
的 superclass (超类)。在 Java 编程语言中,每个类都被允许拥有一个直接的超类,每个超类都有可能拥有无限数量的 subclasses (子类):
自行车类的层次结构。
创建子类的语法很简单。在类声明的开始处,使用 extends
关键字,后面跟着要继承的类的名称:
class MountainBike extends Bicycle { // new fields and methods defining // a mountain bike would go here }
这给了 MountainBike
与 Bicycle
所有相同的字段和方法,但允许其代码专注于使其独特的功能。这使得你的子类的代码易于阅读。但是,必须注意正确记录每个超类定义的状态和行为,因为该代码不会出现在每个子类的源文件中。