枚举(Enums)
JDK1.5加入了一个全新的类型的“类”-- 枚举类型。为此JDK1.5引入了一个新关键字enum。
定义枚举类型时本质上就是定义一个类别,只不过很多细节由编译器帮您完成了,所以某种程度上,enum关键字的作用就像是class或interface。
当您使用“enum”定义枚举类型时,实质上您定义出来的类型继承自java.lang.Enum类型,而每个枚举的成员其实就是您定义的枚举类型的一个实例(Instance),它们都被预设为final,所以您无法改变它们,它们也是static成员,所以您可以通过类型名称直接使用它们,当然最重要的它们都是公开的public。换句话说,当定义一个枚举类型后,在编译时刻就能确定该枚举类型有几个实例,分别是什么。在运行期间我们无法再使用该枚举类型创建新的实例了,这些实例在编译期间就已经完全确定下来了。
public enum Coin { penny("PENNY"), nickel("NICKEL"), dime("DIME"), quarter("QUARTER"); private String value; Coin(String value){ this.value = value; } public String getValue(){ return value; } public static void main(String[] args){ Coin coin = Coin.nickel; System.out.println(coin.getValue()); }}
枚举的构造函数定义 Coin(String value)和penny("PENNY")是对应的;
枚举中也可以定义变量、方法,还可以定义main方法。