是否有充分理由在Java 9中使用新增加接口的抽象类?

Is There Any Good Reason to Use Abstract Class with New Additions to Interfaces in Java 9?

本问题已经有最佳答案,请猛点这里访问。

既然Java 9发布了,还有什么好的理由来使用抽象类吗?似乎从现在开始你可以用接口做任何事情,而且你可以用接口进行多重继承。

Java SE 9:接口

  • 常量变量
  • 抽象方法
  • 默认方法
  • 静态方法
  • 私有方法
  • 私有静态方法

我错过什么了吗?除了可能的向后兼容性之外,找不到任何好的理由。


实际上,你缺少了一些东西:

  • 非常量变量
  • 保护和打包私有方法

一般来说,您不必仅仅因为可以使用某个特性就使用它。尤其要注意多重继承。这会使事情很快变得复杂。