ここで混乱しています。
クラスを static として宣言できない場合、enumはどのように機能しますか? それ自体がインスタンス化され、どこからでも呼び出すことができるため、静的クラスのように見えます。他の静的フィールドとほとんど同じように enum を使用できるようです。
enumを使用しても安全ですか?
enum
型は自動的に静的です。非列挙型を持つことはできないstatic
ため、static
が暗示されます。
JLS 8.9 :
ネストされた列挙型は暗黙的に静的です。ネストされた列挙型を static として明示的に宣言することは許容されます。
列挙型内で宣言している各列挙型は、列挙型の静的メンバーです。列挙変数の型は、列挙型の型です。つまり、自己型です。