为什么枚举可以具有包私有的构造函数?
由于枚举构造函数只能由其常量调用,因此为什么要允许它成为包私有的?
-
构造函数实际上不是包私有的…隐式地意味着
private
接口方法是隐式的,public
即使您不添加关键字也是如此。JLS(第8.8.3节)的相关部分规定:
如果没有为普通类的构造函数指定访问修饰符,则该构造函数具有默认访问权限。
如果没有为枚举类型的构造函数指定访问修饰符,则构造函数为
private
。如果枚举类型(第8.9节)的构造函数声明为
public
或,则是编译时错误protected
。
-
Java枚举和具有私有构造函数的类之间有什么区别?
2021-01-30 关注 0 浏览97 1答案
-
Java-私有和包私有枚举构造函数之间的区别
2021-01-29 关注 0 浏览71 1答案
-
Java中的构造函数可以是私有的吗?
2021-01-30 关注 0 浏览106 1答案
-
Java 为什么枚举的构造函数不能访问静态字段?
2021-02-02 关注 0 浏览114 1答案
-
为什么不能用Java保护枚举构造函数或将其公开?
2021-01-31 关注 0 浏览87 1答案
-
为什么String类具有复制构造函数?
2021-01-31 关注 0 浏览100 1答案
-
具有私有构造函数的Java Spring bean
2021-01-30 关注 0 浏览83 1答案
-
具有私有构造函数的Java Spring bean
2021-02-02 关注 0 浏览131 1答案
-
如果父类具有带参数的构造函数,为什么默认构造函数是必需的?
2021-01-31 关注 0 浏览136 1答案
-
Java中的构造函数可以私有吗?
2021-02-02 关注 0 浏览92 1答案