Enum作為Sun全新引進的壹個關鍵字,看起來很象是特殊的class, 它也可以有自己的變量,可以定義自己的方法,可以實現壹個或者多個接口。 當我們在聲明壹個enum類型時,我們應該註意到enum類型有如下的壹些特征。
1.它不能有public的構造函數,這樣做可以保證客戶代碼沒有辦法新建壹個enum的實例。
2.所有枚舉值都是public , static , final的。註意這壹點只是針對於枚舉值,我們可以和在普通類裏面定義 變量壹樣定義其它任何類型的非枚舉變量,這些變量可以用任何妳想用的修飾符。
3.Enum默認實現了java.lang.Comparable接口。
4.Enum覆載了了toString方法,因此我們如果調用Color.Blue.toString()默認返回字符串”Blue”.
5.Enum提供了壹個valueOf方法,這個方法和toString方法是相對應的。調用valueOf(“Blue”)將返回Color.Blue.因此我們在自己重寫toString方法的時候就要註意到這壹點,壹把來說應該相對應地重寫valueOf方法。
6.Enum還提供了values方法,這個方法使妳能夠方便的遍歷所有的枚舉值。
7.Enum還有壹個oridinal的方法,這個方法返回枚舉值在枚舉類種的順序,這個順序根據枚舉值聲明的順序而定,這裏Color.Red.ordinal()返回0。