在 Java 9 中使用 Abstract Class 和新添加的接口有什么好的理由吗?

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

自 Java 9 版本以来,是否有任何充分理由再使用抽象 类?似乎从现在开始你可以用接口做任何事情,而且你可以用接口进行多重继承。

Java SE 9: Interfaces

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

的确,你错过了一些东西:

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

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