枚举类型Enum的含义分析

特性:

1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例,可用来写单例模式。2.所有枚举值都是public , static , final的。注意这一点只是针对于枚举值,我们可以和在普通类里面定义 变量一样定义其它任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。 3.Enum覆载了了toString方法,,因此我们如果调用Color.Blue.toString()默认返回字符串”Blue”.

用法:

1:字符串常量(也是最简洁的单例模式):

//定义public enum EnumKey{MESSAGE_UPDATE,MESSAGE_DELETE,MESSAGE_ADD;}//使用EnumKey.MESSAGE_ADD.toString();

2:整型常量

//定义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;

3:字符串常量(第二种表示方法)

//定义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;4:添加方法

//定义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);小结:

‘发现什么了没?

枚举的每个实例所包含的参数和枚举的构造方法所包含的参数一致

于是你会发现,其实MESSAGE_UPDATE("update", 1)

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);

多看书,看好书。

枚举类型Enum的含义分析

相关文章:

你感兴趣的文章:

标签云: