![]() |
1
87
把枚举看作一个实例数量有限的类。除了最初声明的实例之外,不能有任何不同的实例。 因此,不能有公共或受保护的构造函数,因为这样可以创建更多的实例。
注:这可能不是官方原因。但这对我来说是最有意义的
|
![]() |
2
18
因为您不能自己调用构造函数。 这是什么 tutorials on Enums 不得不说:
|
![]() |
3
8
枚举包含一组固定的值,这些值必须在编译时全部已知。在运行时创建新的文本是没有意义的,如果构造函数是可见的,这是可能的。 |
![]() |
4
0
这是因为EnUM是Java包含固定常量值。因此,没有必要使用公共或受保护的构造函数,因为您无法创建枚举的实例。 另外,请注意,内部枚举转换为类,如下所示。
这将在内部转换为:
因此,每个枚举常量都表示为枚举类型的对象。因为我们不能显式地创建枚举对象,所以不能直接调用枚举构造函数。 |
![]() |
5
-1
要记住的关键点是,没有包含在类中的枚举只能用 公众的 或 违约 修饰符,就像一个非内部类。 |