4

使用小写关键字enum和大写类名Enum定义一个类有什么区别?

public enum Apple {
    RedDelicious, GrannySmith;
}

public Enum Pony {
    Earth, Pegasus, Unicorn
}

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

如果这个问题似乎缺乏研究努力,我深表歉意,但事实并非如此;由于大小写问题,这些信息容易通过谷歌找到,恕我直言。

4

3 回答 3

7

enum关键字是 Java 语言的一部分。EnumClass表示 的对象的名称enum;也就是说,它是所有enum值的公共基类。它定义了所有枚举对象继承的方法:name()ordinal()等。把它想象成旧 SAT 的一个类比问题:enumis to Enumas classis to Object

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

于 2013-04-15T15:04:35.867 回答
3

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

Enum是 JDK 附带的一个抽象类。

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

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

于 2013-04-15T15:04:49.273 回答
1

你没有显式地创建子类Enum:你使用enum关键字让编译器为你构建这个类。

该类Enum仅存在于 javadoc 中,因此您可以阅读所有枚举都将具有的标准非静态方法的文档(并非此处未描述某些特殊的静态方法,例如values)。

这种机制在这里描述:http: //docs.oracle.com/javase/tutorial/java/javaOO/enum.html

于 2013-04-15T15:06:22.847 回答