enum是java中的枚舉,其實枚舉是一個常量,枚舉就是定義枚舉類的一個實例。
定義枚舉的時候,應該注意一下幾個問題:
其構造方法應該是private 的,為什么呢?根據我的理解,應為枚舉是個常量,枚舉的意思就是有限的可以列舉的幾個選項,如果其構造方法可以是public的,那么就違背了枚舉的初衷,所以,枚舉的構造方法是private的
另外,枚舉的選項都應該是枚舉的第一行出現
詳見示例:
package com.luzhiming.test_6_11; /** * @author 魯志明 E-mail: 13688601037@139.com * @version 創建時間:2013-6-11 下午10:50:34 * */ public enum MyEnum { ZHANGSAN(1,"zhansang"),LISI(2,"lisi"),WANGWU(3,"wangwu"); private MyEnum(int age , String name) { this.age = age ; this.name = name; } private int age; private String name; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
swith語句能夠作用在byte,short,char上面,因為這些數據類型都可以隱含的轉換為int類型,另外switch還可以作用在枚舉常量上面。
示例:
package com.luzhiming.test_6_11; public class Page9Number5 { public static void useEnum(MyEnum enumType) { switch(enumType) { case LISI: System.out.println("LISI的名字是:"+ enumType.getName()); return; case WANGWU: System.out.println("WANGWU的名字是:" + MyEnum.WANGWU.getName()); return; default: System.out.println("this is default"); return; } } public static void main(String[] args) { useEnum(MyEnum.LISI); useEnum(MyEnum.WANGWU); // 運行 default 語句 useEnum(MyEnum.ZHANGSAN); } }