为什么枚举可以具有包私有的构造函数?

发布于 2021-01-31 15:28:17

由于枚举构造函数只能由其常量调用,因此为什么要允许它成为包私有的?

关注者
0
被浏览
62
1 个回答
  • 面试哥
    面试哥 2021-01-31
    为面试而生,有面试问题,就找面试哥。

    构造函数实际上不是包私有的…隐式地意味着private接口方法是隐式的,public即使您不添加关键字也是如此。

    JLS(第8.8.3节)的相关部分规定:

    如果没有为普通类的构造函数指定访问修饰符,则该构造函数具有默认访问权限。

    如果没有为枚举类型的构造函数指定访问修饰符,则构造函数为private

    如果枚举类型(第8.9节)的构造函数声明为public或,则是编译时错误protected



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看