The constructor for enums is implicitly private
, just like methods for interfaces and annotations are implicitly public abstract
. The default is package local for class members.
BTW enum classes are implicitly final
and nested enum classes are implicitly static
.
Older constructs tend to allow you to add implicit modifiers, but newer constructs don't allow you to say. e.g. enums are final but you can't add final
to an enum.