既然枚举构造函数只能由其常量调用,为什么允许它是包私有的呢?
构造函数实际上不是包私有的......它是隐式的private
接口方法的隐式方式public
即使您不添加关键字。
JLS 的相关部分(§8.8.3 http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.8.3) 状态:
如果没有为普通类的构造函数指定访问修饰符,则构造函数具有默认访问权限。
如果没有为枚举类型的构造函数指定访问修饰符,则构造函数为private
.
如果声明了枚举类型(第 8.9 节)的构造函数,则会出现编译时错误public
or protected
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)