java - 子类可以在java中留下未实现的抽象方法吗?
问题描述
假设 A 类是 B 的超类,它是 C 的超类。A 和 B 是抽象类(我保留它们是为了不存在实际的 A 或 B 类的对象,换句话说,对象的实际类只能是C)。我在 A 中有一个抽象方法,它不应该在 B 中实现,因为实际 B 类的对象不存在。因此,它应该只在 C 中实现,并在 A 和 B 中保持抽象。
据我所知,子类必须在 Java 中实现超类的抽象方法。有出路吗?还是我只需要在 B 中保留一个空实现?
解决方案
一个abstract
类可以不abstract
实现其超类的方法。所以 if B
is also abstract
,它可以不实现这个方法,并让C
层次结构中的第一个具体类实现它。
推荐阅读
- php - Laravel 7 - 返回父菜单
- rust - 从 Rust 调用 OpenACC 代码不在 GPU 上运行
- android - 从 Android 设备通过 Firebase 发送推送通知
- python - Django 不渲染图像
- redis - 如何从 Redis 信息中解释“evicted_keys”
- c# - SSRS 客户端证书自定义身份验证
- r - 使用 rvest 提取页面抓取标题的问题
- graph - 如何以 json 格式返回所有子图?
- php - 在 TCPDF html 表中获取二维条码
- python - 加载“太大”数据或没有足够资源(CPU 或内存)时,python 的行为是什么?