为什么接口方法不能是“静态”和“最终”?

2022-09-04 23:59:40

在Java接口中,我们只能有最终的变量。我们还可以在接口中创建静态变量。但是,与此同时,我们无法创建静态/最终方法,因为接口仅适用于静态方法。

接口中不允许静态/最终方法的原因究竟是什么?


答案 1

无法覆盖最终方法。如果您无法实际实现该方法,则违背了拥有接口的目的。

对于静态部分,请参阅此问题


答案 2

你弄错了。

  1. 所有变量都是隐式公共静态的,并且在接口中是最终的。

  2. 在 Java 8 之前,您无法在接口中创建静态方法。所有方法都是实例方法。

  3. 由于接口的唯一目标是让类实现它们,并且由于接口中的方法不能有任何实现,因此使它们最终确定是没有意义的:它们将没有实现,并且不能被覆盖。


推荐