1. 程式人生 > >列舉型別 note

列舉型別 note

列舉特性:

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)是一樣的,因為列舉類中每個列舉常量無論何時都只有一個例項。

單例設計模式。