首页 > 解决方案 > 子类可以在java中留下未实现的抽象方法吗?

问题描述

假设 A 类是 B 的超类,它是 C 的超类。A 和 B 是抽象类(我保留它们是为了不存在实际的 A 或 B 类的对象,换句话说,对象的实际类只能是C)。我在 A 中有一个抽象方法,它不应该在 B 中实现,因为实际 B 类的对象不存在。因此,它应该只在 C 中实现,并在 A 和 B 中保持抽象。

据我所知,子类必须在 Java 中实现超类的抽象方法。有出路吗?还是我只需要在 B 中保留一个空实现?

标签: javaabstract-classabstract-methods

解决方案


一个abstract类可以不abstract实现其超类的方法。所以 if Bis also abstract,它可以不实现这个方法,并让C层次结构中的第一个具体类实现它。


推荐阅读