Java 不支持类的多重继承,标准方法不能规避此限制,因为类可以维护状态(使用实例变量),但接口不能。
默认方法提供了行为的多重继承的有限形式,允许一个类通过默认方法从多个接口继承行为。
当一个类实现的两个接口具有相同的默认方法时,可能会发生冲突,例如两个接口 Alpha 和 Beta 都使用了 reset() 方法。
解决冲突的规则:
1 类实现优先于默认接口实现。
2 如果两个接口具有相同的默认方法,并且类没有重写该方法,则会发生错误。
3 如果一个接口继承了另一个接口,并且两者都定义了相同的默认方法,则继承的接口版本优先。
要显式引用接口的标准实现,可以使用语法:NameInterface.super.NameMethod().
以上就是多重继承的问题的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com