天天看點

枚舉 構造函數 注意事項

枚舉

定義:枚舉是一個被命名的整形常數的集合,用于聲明一組帶辨別符的常數。

類似人的性别 男和女,一周的星期隻能是七天中的一個。類似這種當一個變量有幾種固定可能的取值時。就可以将它定義為枚舉類型。

枚舉被設計成是單例模式,即枚舉類型會由JVM在加載的時候,執行個體化枚舉對象,你在枚舉類中定義了多少個就會執行個體化多少個,JVM為了保證每一個枚舉類元素的唯一執行個體,構造函數設計成private,保持唯一性。

以下代碼中:當枚舉類OrderStatusEnumes被JVM加載時,執行個體化枚舉對象,例:UNPAY、CANCEL

注意:枚舉類不能使用lombok的Data注解自動生成getter/setter。

package com.offcn.dycommon.enums;

public enum OrderStatusEnumes {
   
   UNPAY((byte)0,"未支付"),
   CANCEL((byte)1,"已取消"),
   PAYED((byte)2,"支付成功"),
   WAITING((byte)3,"等待發貨"),
   SEND((byte)4,"已發貨"),
   SENDED((byte)5,"已送達"),
   SUCCESS((byte)6,"交易完成"),
   FAIL((byte)7,"交易未完成");
   
   private byte code;
   private String status;
    //get方法 OrderStatusEnumes.UNPAY.getCode()  ------------  0
   public byte getCode() {
      return code;
   }
   
   public String getStatus() {
      return status;
   }
	//初始化時使用
   private OrderStatusEnumes(byte code, String status) {
      this.code = code;
      this.status = status;
   }
   

}