Java不支持类的多重继承,标准方法不规避此限制,因为类可以维护状态(使用实例变量),但接口不能。
默认方法提供了行为多重继承的有限形式,允许一个类通过默认方法从多个接口继承行为。
当一个类实现的两个接口具有相同的默认方法时,可能会发生冲突,例如两个接口 Alpha 和 Beta 都使用了 reset() 方法。
冲突解决规则:
1 类实现优先于默认接口实现。
2 如果两个接口具有相同的默认方法,并且类没有重写该方法,则会发生错误。
3 如果一个接口继承了另一个接口,并且两者都定义了相同的默认方法,则继承接口的版本优先。
要显式引用接口的标准实现,可以使用语法:NameInterface.super.NameMethod().
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3