首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Java中处理两个抽象类的需求?

如何在Java中处理两个抽象类的需求?
EN

Stack Overflow用户
提问于 2020-12-08 18:28:12
回答 1查看 73关注 0票数 0

Java不允许多个超类;正如我所知,接口不能有方法体。那么,如何处理我想继承不同超类的两个实现方法的情况。

假设我为对象创建了类,这些类可以执行一些特定的任务,假设对象可以播放和唱歌。有些对象只播放以及它们的子类,因此不需要为每个子类定义完全相同的play()方法,我在超类Player中定义了它。有些对象只唱歌,所以我在超类Singer中定义了泛型sing()方法,而不是在每个子类中。如果子类可以唱歌和播放,那么应该做什么,因此需要扩展PlayerSinger超类,以便能够应用超类的已实现的play()和sing()方法。如何处理这种情况,以最有效的方式?

EN

回答 1

Stack Overflow用户

发布于 2020-12-08 18:40:49

从Java8开始,接口可以有默认方法。这些方法被标记为default关键字,并且可以在接口中有一个实现,然后这些实现可以在实现接口的类中使用(或者由类重新实现)。类还可以实现多个接口,因此可以让类同时实现PlayerSinger,并在各自的接口中提供默认方法play()sing()。如果您想要修改接口而不需要修改已经实现它的类,这也是非常有用的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65204732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档