一、什麼是枚舉
枚舉,英文:Enumerationjavascript
「枚舉」的字面意思:枚,是個量詞,能夠理解成是個。好比:一枚金牌、一枚銀牌。舉:就是例舉的意思。枚舉合起來的意思就是例舉出有限的事物的集合!例如:例舉一週有幾天、一年有多少個月份。java
枚舉的正式解釋:枚舉類型是jdk5中新增的特性,它是一種加了限制的特殊的class類型。這裏的限制指的是對枚舉類型所能建立的對象的個數進行了限制!他不像普通的class類那樣能夠建立無數的對象,他只能建立固定數目的對象,並且這些對象是在定義枚舉類型的時候就已經在枚舉類內部建立好了的!ide
二、爲何要用枚舉?
由於在有的時候一個類的對象是有限且固定的,因此這個時候用枚舉就很方便!code
例如:一週有七天、一年有四季對象
不用枚舉(JDK1.5以前)ip
public class Week{ private Week(){}//私有構造器 public static final Week SUN = new Week(); public static final Week MON = new Week(); public static final Week TUE = new Week(); public static final Week WED = new Week(); public static final Week THU = new Week(); public static final Week FRI = new Week(); public static final Week SAT = new Week(); }
使用枚舉(JDK1.5以後)
public enum WeekEnum {
SUN,MON,TUE,WED,THU,FRI,SAT;
}
三、枚舉的使用
枚舉的定義其實和類的定義是同樣的,只是關鍵字不同,定義枚舉的關鍵字是==enum==it
//定義一個類 public class 類名稱{ //類成員 } //定義了一個星期的枚舉類 public enum WeekEnum {//class //枚舉對象 SUN,MON,TUE,WED,THU,FRI,SAT;//object -->枚舉常量 }
public class Week{ private Week(){}//私有構造器 public static final Week SUN = new Week(); public static final Week MON = new Week(); public static final Week TUE = new Week(); public static final Week WED = new Week(); public static final Week THU = new Week(); public static final Week FRI = new Week(); public static final Week SAT = new Week(); }
注意事項:io
(1)、枚舉值都定義在枚舉類中。class
(2)、枚舉常量值的書寫要遵循Java標識符的規範,通常都是==所有大寫==。jdk
(3)、定義的枚舉值和枚舉值之間用「,」隔開,定義完全部的枚舉值以後要加」;」。
(4)、每個枚舉值都是一個常量,定義以後都不能更改!