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 所有相同的字段和方法,但允许其代码专注于使其独特的功能。这使得你的子类的代码易于阅读。但是,必须注意正确记录每个超类定义的状态和行为,因为该代码不会出现在每个子类的源文件中。