java中枚举的使用

在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。

enum  枚举名 {
      枚举体(常量列表)
}

所有的枚举类型隐性地继承自 java.lang.Enum。枚举实质上还是类!而每个被枚举的成员实质就是一个枚举类型的实例,他们默认都是public static final修饰的。可以直接通过枚举类型名使用它们。

package com.bjsxt;

/**
 * Created by Administrator on 2019/3/1.
 */
public enum SeasonEnum {
    SPRING,SUMMER,AUTUMN,WINTER
}


class MyTest{
    public static void main(String[] args){
        SeasonEnum spring=SeasonEnum.SPRING;    //每个枚举成员实际上是一个枚举实例
        System.out.print(SeasonEnum.SPRING);
    }
}

我们可以给枚举中添加属性和方法

package com.bjsxt;

/**
 * Created by Administrator on 2019/3/1.
 */
public enum MessageEnum {

    SYSTEM("1","系统消息"),
    WEILAN_FOR_HUOZHU("2","围栏给货主发消息"),
    WEILAN_FOR_CHEZHU("3","围栏给车主发消息"),
    ORDER_STATE("4","运单状态消息"),
    USER_FLEET("5","用户车队推送信息"),
    VOICE_NOTICE("6","语音播报通知"),
    ACCOUNT_DISABLE("7","账户禁用通知");

    private String type;    //类型
    private String desc;    //描述

    private MessageEnum(String type,String desc){
        this.type=type;
        this.desc=desc;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}

class MyTestTwo{
    public static void main(String[] args){
        MessageEnum message=MessageEnum.SYSTEM;    //每个枚举成员实际上是一个枚举实例
        System.out.println(message.getType());
        System.out.println(message.getDesc());
    }
}

 

posted @ 2019-03-08 13:57  段然涛  阅读(19908)  评论(0编辑  收藏  举报