列舉型別 note
阿新 • • 發佈:2019-01-11
列舉特性:
1.列舉型別是一種類,是引用型別,可以新增方法和成員變數
2.父類是java.lang.Enum,不需要顯示宣告。
3.可以實現介面。
4.不能被繼承,不存在子類。
語法格式:
[public] enum 列舉名 {
列舉常量列表
}
訪問級別:公有(任何地方),預設(本包內可以訪問)。
5.列舉類的成員方法不可以是抽象方法。但是可以有例項方法或者靜態方法。
6.列舉類的構造方法,即使不加private也是私有訪問級別的構造方法。這說明列舉類不允許在類外部建立物件。P169:例子
7.列舉類的常用方法:
所以列舉類都繼承java.lang.Enum類,其中一些常用方法:
int ordinal():
返回列舉常量的順序。順序從0開始。(和python裡的enumerate()返回的結果一毛一樣)index values
列舉型別[] values(): 靜態方法,返回一個包含全部列舉常量的陣列。
列舉型別 valueOf(String str):靜態方法,str是列舉常量對應的字串,返回一個包含列舉型別的例項。
8.比較
在Java引用類物件比較:
A)== :比較兩個引用是否指向同一個物件。
B)equals:比較兩個物件內容是否相同。
在列舉型別中A)和B)是一樣的,因為列舉類中每個列舉常量無論何時都只有一個例項。
單例設計模式。