嵌套枚举应该声明为静态的吗?

Should nested enums be declared as static?

我知道将嵌套枚举声明为静态与否在功能上没有区别。但是,嵌套的 class 是否声明为静态会有所不同。与嵌套 classes 的方案相比,嵌套枚举将始终是静态的。

问题是:是否有一种 java 代码约定规定在声明嵌套枚举时应使用 static 关键字?主要是怎么处理的?

我问这个问题的主要原因是到目前为止我没有找到关于这个主题的任何讨论,它可能会对也在搜索这个的人有所帮助。

这几乎只是射手的偏好,但我不会。这是多余的,因为它是一个枚举,并且可能会让人们认为单独使用静态枚举是可以的。

所以我想问题是这两个枚举的意图有多紧密?您是将它们用作一组静态常量(如 C# 枚举)还是利用全部功能?如果它们具有功能,并且封闭枚举的功能依赖于嵌套枚举...绝对不要静态化它​​。