1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例,可用来写单例模式。
2.所有枚举值都是public , static , final的。注意这一点只是针对于枚举值,我们可以和在普通类里面定义
变量一样定义其它任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。
3.Enum覆载了了toString方法,因此我们如果调用Color.Blue.toString()默认返回字符串”Blue”.
//定义 public enum EnumKey{ MESSAGE_UPDATE,MESSAGE_DELETE,MESSAGE_ADD; } //使用 EnumKey.MESSAGE_ADD.toString();
//定义 public enum EnumKey { MESSAGE_UPDATE(1), MESSAGE_DELETE(2), MESSAGE_ADD(3); public int tag; EnumKey(int iTag) { this.tag = iTag; } } //使用 int i =EnumKey.MESSAGE_ADD.tag;
//定义 public enum EnumKey { MESSAGE_UPDATE("update"), MESSAGE_DELETE("delete"), MESSAGE_ADD("add"); public String msg; EnumKey(String str) { this.msg = str; } } //使用 String s =EnumKey.MESSAGE_ADD.msg;
//定义 public enum EnumKey { MESSAGE_UPDATE("update", 1), MESSAGE_DELETE("delete", 2), MESSAGE_ADD("add", 3); public String msg; public int tag; EnumKey(String str, int iTag) { this.msg = str; this.tag = iTag; } public static boolean getMax(int flag) { return flag > 1 ? true : false; } } //使用 EnumKey.MESSAGE_ADD.getMax(2);
public class EnumKey { public static String msg; public static int tag; public EnumKey(String str, int iTag) { this.msg = str; this.tag = iTag; } } EnumKey MESSAGE_UPDATE=new EnumKey("update", 1);
原文地址:http://blog.csdn.net/pengkv/article/details/44198081