在 Java 9 中是不是有充分的理由使用带有新接口的抽象类? [复制]
Posted
技术标签:
【中文标题】在 Java 9 中是不是有充分的理由使用带有新接口的抽象类? [复制]【英文标题】:Is There Any Good Reason to Use Abstract Class with New Additions to Interfaces in Java 9? [duplicate]在 Java 9 中是否有充分的理由使用带有新接口的抽象类? [复制] 【发布时间】:2018-03-13 22:04:08 【问题描述】:自从 Java 9 发布以来,还有什么好的理由再使用抽象类吗?从现在开始,您似乎可以使用接口做所有事情,而且您可以使用接口进行多重继承。
Java SE 9: Interfaces
常量变量 抽象方法 默认方法 静态方法 私有方法 私有静态方法我错过了什么吗?除了向后兼容之外,找不到任何好的理由。
【问题讨论】:
大量抽象类包含实例级字段,因此无法转换为等效接口。也许您想强制从特定的超类继承,以保证您对它的某些内部具有包级别的访问权限。第二种情况可能不太常见,但您可以看到它在 JDK 的某些部分中使用(例如,在套接字选择器 API 中)。 【参考方案1】:确实,你错过了一些东西:
非常量变量 受保护的和包私有的方法一般来说,您不必仅仅因为可以使用某项功能。尤其要小心多重继承。它会使事情变得非常迅速。
【讨论】:
以上是关于在 Java 9 中是不是有充分的理由使用带有新接口的抽象类? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
是否有充分的理由避免在 JS 中没有最终表达式的 FOR 循环?
在 2017 年使用 Meteor 有充分的理由吗? [关闭]