Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
除 Object
类外,类只有一个直接超类。类继承其所有超类中的字段和方法,无论是直接还是间接。子类可以覆盖它继承的方法,也可以隐藏它继承的字段或方法。(请注意,隐藏字段通常是糟糕的编程习惯。)
Overriding and Hiding Methods 部分中的表显示了使用与超类中的方法相同的签名声明方法的效果。
Object
类是类层次结构的顶部。所有类都是此类的后代,并从中继承方法。从 Object
继承的有用方法包括 toString()
,equals()
,clone()
和 getClass()
。
你可以通过在类的声明中使用 final
关键字来阻止类被子类化。同样,你可以通过将方法声明为 final 方法来防止子类覆盖该方法。
抽象类只能被子类化;它无法实例化。抽象类可以抽象方法 包含声明但未实现。然后,子类提供抽象方法的实现。