枚举类型的概念:



1 /**
2 * 目的:枚举类型
3 * @author chenyanlong
4 * 日期:2017/10/22
5 *
6 */
7 package com.mon10.day22;
8
9 public class EnumDemoOne {
10
11 //声明枚举类型
12 private enum InnerEnum{
13 REd,GREEN,YELLOW
14 };
15
16 public static void main(String[] args) {
17 System.out.println(InnerEnum.GREEN);
18 }
19 }



运行上面的代码,将编辑产生EnumDemoOne.class和EnumDemoOne$InnerEnum.class。

 

由此说明定义枚举类型其实就是在定义一个类,只不过很多细节由编译器帮你补齐了,所以,某种程度上enum关键词的作用就像是class或interface.当使用enum定义枚举类型时,实际上所定义出来的类型是继承自java.lang.Enum类。而每个被枚举的成员其实就是定义的枚举类型的一个实例,它们都被默认为final。无法改变常数名称所设定的值,它们也是public和static的成员,这与接口中的常量限制相同。可以通过类名称直接使用它们。