# 继承摘要

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

除`Object`类外，类只有一个直接超类。类继承其所有超类中的字段和方法，无论是直接还是间接。子类可以覆盖它继承的方法，也可以隐藏它继承的字段或方法。 （注意隐藏字段通常是糟糕的编程习惯。）

[覆盖和隐藏方法](override.html)部分中的表显示了使用与超类中的方法相同的签名声明方法的效果。

`Object`类是类层次结构的顶部。所有类都是此类的后代，并从中继承方法。从`Object`继承的有用方法包括`toString()`，`equals()`，`clone()`和`getClass()`。

您可以通过在类的声明中使用`final`关键字来阻止类被子类化。同样，您可以通过将方法声明为最终方法来防止子类覆盖该方法。

抽象类只能被子类化;它无法实例化。抽象类可以包含声明但未实现的抽象方法 - 方法。子类然后提供抽象方法的实现。