Java技術加強之列舉

2021-06-18 06:43:44 字數 1006 閱讀 3517

列舉是乙個特殊的類

.列舉就是要讓某個型別的變數的取值只能為若干個固定值中的乙個,否則,編譯器就會報錯.列舉可以讓編譯器在編譯時就可以控制源程式中的填寫的非法值.

values();靜態方法,返回列舉中的所有元素,是乙個列舉型別的陣列

valueof(str);靜態方法,返回的是字串對應的列舉物件.

name();

返回此列舉常量的名稱

.tostring();返回列舉常量的名稱

ordinal();

返回的是列舉常量的序數(在列舉宣告中的位置,從0開始).

列舉是一種特殊的類,其中的每個元素都是該類的乙個例項物件.例如可以呼叫weekday.sun.getclass().getname()和weekday.class.getname().

列舉就相當於乙個類,其中也可以定義建構函式,成員函式,普通方法和抽象方法.

列舉元素必須位於

列舉體中的

最開始部分

,列舉元素列表的後面要有分號與其他成員分隔.把列舉中的成員方法或變數等放在列舉元素的前面,編譯器會報告錯誤.

構造方法必須定義成私有的

如果有多個構造方法,列舉元素mon,和mon()的效果一樣,都是呼叫預設的建構函式

.定義抽象的next方法:每個元素分別是由列舉的子類生成的例項物件

,這些子類採用類似內部類的方式進行定義

.(類似匿名內部類,只不過類名時物件名)

列舉只有乙個成員時

,就可以作為一種單例的實現方式.

因為列舉預設的建構函式是私有的

,建立物件只要寫個元素就行了.

例子:獲取星期列舉對應的中文值

public enum day

},tue()

},wed()

},thu()

},fri()

},sat()

},sun()

};public abstract string  getday();

}

列舉,介面加強

列舉 eunm 關n鍵字 定義列舉類 enum 列舉類的父類 1 列舉類 2 列舉常量 3 靜態方法 4 定義結構 靜態方法和屬性,成員方法和屬性,實現介面 覆寫enum類的方法 5 應用場景 乙個類的例項化物件可數的 性別,狀態,週期 顏色 6 支援 switch unicode public e...

Java之列舉型別

用乙個例子來說明 在程式中規定交通燈的取值只能是 red,green,yellow 取其他值就會報錯,並且還能根據當前顏色知道下個顏色.怎麼實現?一 用普通類來實現 public abstract class trafficlamp 取得下個燈 public abstract trafficlamp...

Java之列舉篇

出處 1 為什麼要出現列舉 在現實生活中,有許多實體有且僅有特定的幾個屬性 例如 月份只有1 12月,性別只有男女,季節只有四季 等 若將其型別定義成常量,則不可避免地出現非法引數的問題 例如 13月,第三個性別,第五個季節 等 因此,對於上述型別的物件,必須規定其特定的屬性值為列舉型別,即 僅能從...