一.什么是枚举
    枚举 (类)和类、接口一样,也是描述一类事物的,它描述的是那种 实例有限的事物。举个例子,比如季节,它实例就只用 4个,春 夏 秋 冬

    /
    是一种数据类型
    这种数据类型将本类型的变量一个列举出来
    每个枚举类型均是常量
    该类是一个final类
    静态的 公开的类
    有序的 从0 开始

    /
    public enum Season {
    SPRING,SUMMER,AUTUMN,WINTER // 这些单词就是 准备好的几个对象。
    }
    二.自定义枚举**
    定义枚举的关键字是 enum 关键字。和类一样可以定义属性 方法 构造器。

    1. /**
    2. * 定义季节枚举类
    3. */
    4. public enum Season {
    5. SPRING,SUMMER,AUTUMN,WINTER // 这些单词就是 准备好的几个对象。
    6. }

    三.枚举的运用
    枚举主要的作用就是做辅助判断使用。

    1. public static void main(String[] args) {
    2. Foo foo = new Foo();
    3. foo.work( Season.WINTER );
    4. }
    5. public void work( Season season ){
    6. switch ( season ){
    7. case SPRING :
    8. System.out.println("播种.....");
    9. break;
    10. case SUMMER:
    11. System.out.println("游泳.....");
    12. break;
    13. case AUTUMN:
    14. System.out.println("收获.....");
    15. break;
    16. case WINTER:
    17. System.out.println("堆雪人.....");
    18. break;
    19. }
    20. }

    四. 其他方式实现枚举
    在JDK1.5 以前可以使用类来实现枚举效果。

    1. class Season{
    2. public static final Season SPRING = new Season();
    3. public static final Season SUMMER = new Season();
    4. public static final Season AUTUMN = new Season();
    5. public static final Season WINTER = new Season();
    6. private Season(){ // 把构造器私有化,不允许在其他地方实例化对象,使用类提供的有限实例。
    7. }
    8. }