枚举的构造函数是隐式private
,就像接口和注释的方法隐式public abstract
一样。默认是类成员的包本地。
BTW枚举类隐式final
,嵌套枚举类隐式static
。
较旧的构造倾向于允许您添加隐式修饰符,但较新的构造不允许您说。例如枚举是最终的,但您无法将final
添加到枚举。
根据java docs
枚举类型的构造函数必须是包私有或私有访问。
但正在加入JLS
如果没有为枚举类型的构造函数指定访问修饰符,则构造函数是私有的。
所以package-private和private之间没有区别。