在JDK1.5 以前,咱們定義常量都是: public static fianl.... 。如今好了,有了枚舉,能夠把相關的常量分組到一個枚舉類型裏,並且枚舉提供了比常量更多的方法。java
enum 枚舉名 { 枚舉體(常量列表) }
全部的枚舉類型隱性地繼承自 java.lang.Enum。枚舉實質上仍是類!而每一個被枚舉的成員實質就是一個枚舉類型的實例,他們默認都是public static final修飾的。能夠直接經過枚舉類型名使用它們。spring
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); } }
咱們能夠給枚舉中添加屬性和方法this
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()); } }