在Java 9中,有没有什么好的理由将抽象类与新增加的接口一起使用?[副本]

2mbi3lxu  于 2023-05-27  发布在  Java
关注(0)|答案(1)|浏览(72)

此问题已在此处有答案

Java 9 Interface vs Class(5个答案)
When to use: Java 8+ interface default method, vs. abstract method(16个答案)
5年前关闭。
自从Java 9发布以来,还有什么好的理由再使用抽象类吗?看起来你现在可以用接口做任何事情,而且你可以用接口实现多重继承。
Java SE 9: Interfaces

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

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

rxztt3cl

rxztt3cl1#

事实上,你错过了一些东西:

  • 非常数变量
  • protected和package-private方法

一般来说,您不必仅仅因为可以使用某个功能就使用它。特别要注意多重继承。它可以使事情变得非常复杂。

相关问题