您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關java中枚舉類型定義和重寫枚舉的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
什么是枚舉類型
枚舉類型(Enumerated Type) 很早就出現在編程語言中,它被用來將一組類似的值包含到一種類型當中。
而這種枚舉類型的名稱則會被定義成獨一無二的類型描述符,在這一點上和常量的定義相似。不過相比較常量類型,枚舉類型可以為申明的變量提供更大的取值范圍。
簡單的枚舉類型定義
假如你希望創建一個顏色庫,你可以這樣定義枚舉類型
enum Color {red, green, yellow, black};
然后你就可以使用它
Color T = Color.red; if (T == Color.red) System.out.println("i am red"); switch(T) { case red: System.out.println("i am red"); break }
定制枚舉類型
在C/C++中,我們可以這樣使用枚舉變量
enum color {red,green}; enum color a = 1;// a is green
在Java中定義枚舉類型的值
enum color { red(1),green(2); private final int number; color(int i) { this.number = i; } public getValue() { return this.number; } }
然后使用 T.getValue() 便可獲取綁定的值
重寫枚舉的方法
枚舉類給我們提供的方法有,具體可以查看Enum.java
name, toString, valueOf //獲取名字 equals //比較 ordinal //獲取位置
實現接口
所有的枚舉都繼承自java.lang.Enum類。
由于Java 不支持多繼承,所以枚舉對象不能再繼承其他類,但是可以實現接口
Test
enum number { zero(0),one(1),two(2); int n; number(int i) { this.n = i; } public int getValue(){ return this.n; } } interface People_State { String getState(); State_Enum ChangeState(); } enum State_Enum implements People_State { normal("正常"), stop("停止"); private final String state; State_Enum(String s) { this.state = s; } public String toString() { return state; } @Override public String getState() { return state; } @Override public State_Enum ChangeState() { if (this == normal) return stop; else return normal; } } public class Test_Enum { public static void main(String[] args) { number z = number.zero; State_Enum state = State_Enum.normal; System.out.println(z.getValue()); System.out.println(z); System.out.println(number.one); switch (z) { case zero: System.out.println(0); break; case one: System.out.println(1); break; case two: System.out.println("2"); break; } //equals if (z.equals(number.one)) { System.out.println("equal!"); } else { System.out.println("unequal"); } //valueOf System.out.println(number.valueOf("zero")); //ordinal System.out.println(z.ordinal()); //the index of values System.out.println(state.toString()); state = state.ChangeState(); System.out.println(state.getState()); } }
Output
0 zero one 0 unequal zero 0 正常 停止
關于“java中枚舉類型定義和重寫枚舉的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。