Document

枚举类型的概念:

 1 /**
 2  * 目的:枚举类型
 3  * @author chenyanlong
 4  * 日期:2017/10/22
 5  * 网址:http://blog.csdn.net/sup_heaven/article/details/35295851
 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的成员,这与接口中的常量限制相同。可以通过类名称直接使用它们。

原文地址:https://www.cnblogs.com/chenyanlong/p/7707832.html