Java 大写枚举和小写枚举之间的差异

Java 大写枚举和小写枚举之间的差异,java,enums,Java,Enums,使用小写关键字enum和大写类名enum定义类之间有什么区别 public enum Apple { RedDelicious, GrannySmith; } public Enum Pony { Earth, Pegasus, Unicorn } 第二个版本无论如何都不正确,因为我不熟悉创建枚举的方法的正确语法,但显然,类似的东西是可能的 如果这个问题似乎缺乏研究,我深表歉意,但事实并非如此;由于大小写问题,通过Google、IMHO很难找到这些信息。enum关键字是Jav

使用小写关键字enum和大写类名enum定义类之间有什么区别

public enum Apple {
    RedDelicious, GrannySmith;
}

public Enum Pony {
    Earth, Pegasus, Unicorn
}
第二个版本无论如何都不正确,因为我不熟悉创建枚举的方法的正确语法,但显然,类似的东西是可能的


如果这个问题似乎缺乏研究,我深表歉意,但事实并非如此;由于大小写问题,通过Google、IMHO很难找到这些信息。

enum关键字是Java语言的一部分
Enum
是表示
Enum
对象的名称;也就是说,它是所有
enum
值的公共基类。它定义了所有枚举对象继承的方法:
name()
ordinal()
,等等。将其视为旧SAT中的一个类比问题:
enum
是要
enum
就像
class
是要
对象一样


始终在代码中使用
enum
来声明枚举。

enum
是用于定义新枚举的保留字

Enum
是JDK附带的一个抽象类

如果要定义新枚举,请使用
enum


如果需要进一步说明,您可以参考
Enum
文档。

您没有显式创建
Enum
的子类:您可以使用
Enum
关键字让编译器为您构建此类

Enum
类仅存在于javadoc中,这样您就可以阅读所有枚举将具有的标准非静态方法的文档(并非这里没有描述一些特殊的静态方法,例如


这里描述了这一机制:

您能否详细说明“始终”使用这一种方法而不是另一种方法的原因?如果替代方法是可能的,那么肯定有原因吗?@SouthpawHare-替代方法是不可能的。它与使用语法
公共类Foo{…}
声明一个常规类没有任何意义。它就是不起作用
Enum
Enum
是两个完全不同的意思。我喜欢这个比喻!这完全澄清了问题,谢谢。你能详细解释一下为什么“总是”使用这一种方法而不是另一种方法吗?如果替代方法是可能的,那么肯定有一些原因吗?你说的替代方法是可能的是什么意思?你不能用
Enum
定义一个枚举器,根据一个朋友告诉我的,我觉得有一种方法是可行的,但是我自己从来没有见过。