子类的超类方法 Java

Superclasses methods for subclasses Java

子类是否需要重写超类的每个方法,或者不是强制性的,但子类可以重写超类的某些方法。我有点困惑。

Subclasses 不需要覆盖任何父方法,即使它们可以。强制子 class 覆盖方法的唯一方法是使该方法抽象(并且父 class 也必须是抽象的)。

如果子class希望引入独特的行为来调用它继承的方法,那么该方法必须被覆盖。

最常见的情况是:toStringequalshashCode 都可以覆盖您的所有自定义 classes,前提是您的自定义 class 不想利用 Object#toStringObject#equalsObject#hashCode,它们都是 "unhelpful" 用于您的自定义实现。

如果子class 希望引入独特的行为来调用它继承的方法,那么这是不必要的。您可以依赖 parent class' 行为。

如果你的parentclass是abstract,那么你别无选择只能实现parent的方法class选择不实施。

如果您要实现一个接口,则适用与抽象 classes 相同的原则 - 因为该接口本身不实现任何东西,您 必须 实现这些方法接口规定的。