作為Sun引入的新關鍵字,Enum看起來像壹個特殊的類。它也可以有自己的變量,定義自己的方法,實現壹個或多個接口。當我們聲明壹個枚舉類型時,我們應該註意到該枚舉類型具有以下特征。
1.它不能有公共構造函數,這可以確保客戶端代碼不能創建enum的新實例。
2.所有枚舉值都是公共的、靜態的、最終的。請註意,這僅適用於枚舉值。我們可以像在普通類中定義變量壹樣定義任何其他類型的非枚舉變量,並且這些變量可以使用您想要的任何修飾符。
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。