枚举解析

switch case语句case后的枚举常量不带枚举类型
定义了一个枚举类型

public enum Day
{
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,THURSDAY, FRIDAY, SATURDAY
}

1:枚举类的第一行必须声明枚举对象,如果要修改枚举类,需要在最后一个枚举实例加分号;
2:枚举类是单例的拓展,因为它的构造是私有的,所以枚举实例是有限个的。
3:枚举不能有子类,因为它的类修饰符是final的。

在进行switch case分支时

switch (day)
{
    case Day.MONDAY:
        .....
        break;

报错,an enum switch case label must be the unqualified name of an enumeration constant
提示需要把MONDAY前面的枚举类型去掉

switch (day)
{
    case MONDAY:
        ......
        break;

枚举类里面可以含有抽象方法abstract和实现implement接口,这样做得目的就是让每个枚举实例对象都实现这个抽象方法,从而达到每个枚举对象对于同一个方法,提供不同的处理策略的需求。

java规定case后面的枚举常量名只能使用枚举实例的名称,不需要带类名,switch后已经指定了枚举的类型,case后无需使用全名,而且enum也不存在继承关系!

猜你喜欢

转载自blog.csdn.net/zlc521520/article/details/83749451