枚举
为了间接的表示一些固定的值，Java提供了枚举类
将变量的值一个一个的列出来，变量的值只限于列举出来的范围内。

枚举也是引用变量的一种
    类
    数组
    接口
    枚举
    注解
格式：
    public enum 类名{
        枚举项1,枚举项2,枚举项3,...,枚举项n;
        定义枚举类必须是enum关键字
    }

枚举的特点：
    1、所有的枚举类都有一个共同的父类Enum类
    2、我们可以通过"枚举类名.枚举项名"方式去访问指定的枚举项
    3、每个枚举项其实就是这个枚举类的一个对象。
    4、枚举也是一个类，也可以定义成员变量
    5、枚举类的第一行必须是枚举项，最后一个枚举项后面是以分号结尾。如果枚举类中除了枚举项之外没有其他成员，则分号可以省略。
    6、枚举类也可以有构造方法，但是必须是private的，默认也是private的
    7、枚举类也可以有抽象方法，但是枚举项必须要重新这个抽象方法。

枚举的方法：
String name()   获取枚举项的名称
int ordinal()   获取枚举项的索引值
int compareTo(E o)  比较两个枚举项，返回枚举项的差值
String toString() 返回枚举常量的名称
values()    获取所有的枚举项
static<T> T valueOf(Class<T> type,String name) 获取指定枚举类中的指定名称的枚举值

案例1：
定义一个星期的枚举Week，包含星期一(MONDAY)到星期日(SUNDAY)。
编写程序：
    1、遍历枚举所有成员并打印
    2、判断输入的字符串，比如MONDAY，是否为工作日周一-周五。

案例2：
定义一个表示季节的枚举Season，包含SPRING SUMMER AUTUMN WINTER
每个枚举成员需要包含两个属性：季节名称(中文)和平均温度(整数)
需要实现的方法：
    getChineseName() 返回该枚举项的中文名称
    getAvgTemperature() 返回平均温度
    编写测试代码，打印每个季节的中文名称和平均温度。

案例3
定义一个接口Operation 包含方法 int calculate(int a,int b)。
定义枚举类ArithmeticOperation类实现Operation接口，包含加、减、乘、除四个枚举项。
实现每个枚举项的计算方法，完成对应的运算，如果进行除法运算时，如果除数为0，则抛出异常。