# 什么是继承？

> 原文： [https://docs.oracle.com/javase/tutorial/java/concepts/inheritance.html](https://docs.oracle.com/javase/tutorial/java/concepts/inheritance.html)

不同种类的物体通常彼此具有一定的共同量。例如，山地自行车，公路自行车和双人自行车都具有自行车的特性（当前速度，当前踏板节奏，当前档位）。然而，每个还定义了使它们与众不同的其他功能：双人自行车有两个座位和两套车把;公路自行车有把手下降;一些山地自行车有一个额外的链环，使它们的齿轮比更低。

面向对象编程允许类 _ 继承 _ 常用的其他类的状态和行为。在这个例子中，`Bicycle`现在变成`MountainBike`，`RoadBike`和`TandemBike`的 _ 超类 _。在 Java 编程语言中，每个类都允许有一个直接的超类，每个超类都有可能存在无限数量的 _ 子类 _：

<center>![A diagram of classes in a hierarchy.](img/a3b4c6e8955f9562ddc1a464806476e7.jpg)

自行车课程的等级。

</center>

创建子类的语法很简单。在类声明的开头，使用`extends`关键字，后跟要继承的类的名称：

```
class MountainBike extends Bicycle {

    // new fields and methods defining 
    // a mountain bike would go here

}

```

这为`MountainBike`提供了与`Bicycle`相同的所有字段和方法，但允许其代码专注于使其独特的功能。这使您的子类代码易于阅读。但是，您必须注意正确记录每个超类定义的状态和行为，因为该代码不会出现在每个子类的源文件中。