枚举中的静态最终方法

wts*_*g02 13 java oop enums

所以我已经浏览了谷歌和SO,我找不到一个例子或解释:static final方法的目的是enum什么?

我的理解:

  1. 声明方法static可以像函数/过程语言一样访问.
  2. final意味着你无法覆盖它.无法更改参考.由于评论中指出的assylias static也不能被覆盖.
  3. enums不能被子类化,这里解释.

那么static final,enum如果它永远不会被覆盖,那么s中的方法有什么意义,因为它不会有子类?

ass*_*ias 18

通过使静态方法最终,可以防止子类隐藏它(只有实例方法可以覆盖).

由于enum不能被子类化,因此制作静态方法final是多余的,但不是禁止的.

注意:从技术上讲,每个具有类主体的枚举常量都隐式定义了一个扩展枚举的匿名类.但由于内部类可能不会声明静态方法,因此静态final方法不能隐藏在这样的常量类体中.