使用小写关键字 enum 和大写类名 Enum 来定义类有什么区别?
public enum Apple {
RedDelicious, GrannySmith;
}
public Enum Pony {
Earth, Pegasus, Unicorn
}
无论如何,第二个版本不正确,因为我不熟悉创建枚举的方法的正确语法,但显然,类似的东西是可能的。
如果这个问题看起来好像缺乏研究工作,我很抱歉,但事实并非如此;由于套管问题,这些信息不很容易通过谷歌,恕我直言。
答案 0 :(得分:7)
enum
关键字是Java语言的一部分。 Enum
是代表Class
的{{1}}对象的名称;也就是说,它是所有enum
值的公共基类。它定义了所有枚举对象继承的方法:enum
,name()
等。将其视为旧SAT中的类比问题:ordinal()
是enum
为Enum
{1}}是class
。
始终在代码中使用Object
来声明枚举。
答案 1 :(得分:3)
答案 2 :(得分:1)
您没有显式创建Enum
的子类:您使用enum
关键字让编译器为您构建此类。
Enum
类只存在于javadoc中,因此您可以阅读所有枚举将具有的标准非静态方法的文档(不是这里没有描述某些特殊的静态方法,例如{ {1}})。
此处描述了此机制:http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html