enum是java中的枚举,其实枚举是一个常量,枚举就是定义枚举类的一个实例。
定义枚举的时候,应该注意一下几个问题:
其构造方法应该是private 的,为什么呢?根据我的理解,应为枚举是个常量,枚举的意思就是有限的可以列举的几个选项,如果其构造方法可以是public的,那么就违背了枚举的初衷,所以,枚举的构造方法是private的
另外,枚举的选项都应该是枚举的第一行出现
详见示例:
package com.luzhiming.test_6_11; /** * @author 鲁志明 E-mail: 13688601037@* @version 创建时间:-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);}}