enum EnumClass{
ENUM_CLASS1, ENUM_CLASS2, ENUM_CLASS3;
EnumClass enumClass = new EnumClass(); //не получается
}
从逻辑上讲,这没有任何意义。也很清楚为什么不可能在枚举之外创建实例,因为枚举构造函数是私有的。但是在枚举中,为什么不能创建实例?可以说,私有表明对象不能在其他地方创建,而是在枚举本身内部?现在已经不清楚了。
注意:如果突然发现这个问题是重复的,那么只需将链接粘贴在评论中,不要投反对票。如果链接的内容给出了详尽的答案,那么我将删除我的问题。
正如您自己所说,您的示例没有意义。告诉我你想做什么,这个问题根本不清楚。我假设你想做一些类似的事情:
这里创建了Test extends Enum 类,以及该类的三个对象。在枚举块中,使用了不同的构造函数语法。代替
new Test("ONE", 0, 1) //参数名、序号和t
just write ONE(1) //name is, t is, ordinal 是在没有你参与的情况下计算的
所以在你的例子中 EnumClass enumClass = new EnumClass() 没有意义,不是因为你不能创建一个 enum 元素,而是因为 1)在一个块中,这样的动作是由不同的语法完成的 2)一个 Enum 元素至少有构造函数中有 2 个参数,并且您想创建一个没有它们的元素