enum构造函数的默认访问修饰符“private”从一开始就存在,还是在Java 8中更改了?如果更改了,那么没有访问修饰符的构造函数声明的默认访问修饰符是什么? (我猜它是默认的(包可访问),就像其他Java类的构造函数一样。)我找到了一些相关文档,但找不到确切的答案。这是我找到的,
- Java8 JLS 8.9.2,在枚举声明中,没有访问修饰符的构造函数声明为private。
- Java7 JLS 8.9.2,如果枚举类型没有构造函数声明,则会自动提供一个不带参数的私有构造函数(以匹配隐式空参数列表)。