6.1.3接口与抽象类
问题:为什么java程序设计语言还要引入接口概念?为什么不设计成抽象类,再使用子类扩展抽象类?
答案:使用抽象类表示通用属性存在一个问题:每个类只能扩展一个类。
例:class Employee extends Comparable,person 这是错误的!
因为,java的设计者选择不支持多继承,其原因是多继承会让语言本身变的非常复杂,效率会降低。
6.1.4静态方法
在javaS8中允许接口中添加静态方法。这样,在实现你自己的接口时,不再需要为实用工具方法另外提供一个伴随类。
6.1.5默认方法—为接口方法提供一个默认实现。必须用default修饰符标记这样一个方法。
这并没有太大用处,因为类的每一个实际实现接口都会覆盖这个接口方法。
不过,有些时候,很管用。
在大多数情况下,只关注1、2件事件类型。,把所有的默认方法声明为默认方法,这些方法什么也不做。实现这个接口的程序员只需要为他们真心关心的事件覆盖相应的监视器。
解决默认方法冲突
1.超类优先
2.接口冲突
(较易理解,不在详述)
本文探讨了Java中接口与抽象类的区别与联系,解释了为何引入接口而非仅使用抽象类,以及接口如何通过默认方法和静态方法增强功能。同时,文章深入分析了多继承在Java中的处理方式。
1万+

被折叠的 条评论
为什么被折叠?



