1.枚举类里一个成员变量
public enum WebMenuEnum {
PRODUCTS_PURCHASING("产品采购"),
PURCHASE_ORDER("采购订单"),
CANCEL_ORDER("取消订单"),
SIGNING_CONTRACT("合同签约");
// 成员变量
private String menuName;
WebMenuEnum(String menuName) {this.menuName = menuName;
}
public String getMenuName() {return menuName;
}
}
2.枚举类里两个成员变量
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
// 成员变量
private String name;
private int index;
// 构造方法
private Color(String name, int index) {
this.name = name;
this.index = index;
}
}
3.写方法时,如何传递枚举
定义一个方法,接受枚举变量:
public static void record(WebMenuEnum enum) {system.out.println( enum.getMenuName() );
}
别人如何调你的方法:
record( WEBMENUENUM.PRODUCTS_PRRCAHSING );
4.enum不能使用 extends 关键字继承其他类
public class com.hmw.test.EnumTest extends java.lang.Enum{
public static final com.hmw.test.EnumTest MON;
public static final com.hmw.test.EnumTest TUE;
public static final com.hmw.test.EnumTest WED;
public static final com.hmw.test.EnumTest THU;
public static final com.hmw.test.EnumTest FRI;
public static final com.hmw.test.EnumTest SAT;
public static final com.hmw.test.EnumTest SUN;
static {};
public int getValue();
public boolean isRest();
public static com.hmw.test.EnumTest[] values();
public static com.hmw.test.EnumTest valueOf(java.lang.String);
com.hmw.test.EnumTest(java.lang.String, int, int, com.hmw.test.EnumTest);
}
所以,实际上 enum 就是一个 class,只不过 java 编译器帮我们做了语法的解析和编译而已。即enum不能使用 extends 关键字继承其他类,因为 enum 已经继承了 java.lang.Enum(java是单一继承),只能implements接口。