Java技术加强之枚举

发布时间:2016-12-8 10:19:24 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Java技术加强之枚举",主要涉及到Java技术加强之枚举方面的内容,对于Java技术加强之枚举感兴趣的同学可以参考一下。

枚举 枚举是一个特殊的类. 枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错.枚举可以让编译器在编译时就可以控制源程序中的填写的非法值.   Enum类提供的方法 values();静态方法,返回枚举中的所有元素,是一个枚举类型的数组 valueOf(Str);静态方法,返回的是字符串对应的枚举对象. name();返回此枚举常量的名称. toString();返回枚举常量的名称 ordinal();返回的是枚举常量的序数(在枚举声明中的位置,从0开始). 枚举是一种特殊的类,其中的每个元素都是该类的一个实例对象.例如可以调用WeekDay.SUN.getClass().getName()和WeekDay.class.getName().   枚举就相当于一个类,其中也可以定义构造函数,成员函数,普通方法和抽象方法. 枚举元素必须位于枚举体中的最开始部分,枚举元素列表的后面要有分号与其他成员分隔.把枚举中的成员方法或变量等放在枚举元素的前面,编译器会报告错误. 枚举的构造方法        构造方法必须定义成私有的        如果有多个构造方法,枚举元素MON,和MON()的效果一样,都是调用默认的构造函数. 枚举的方法        定义抽象的next方法:每个元素分别是由枚举的子类生成的实例对象,这些子类采用类似内部类的方式进行定义.(类似匿名内部类,只不过类名时对象名)   枚举只有一个成员时,就可以作为一种单例的实现方式. 因为枚举默认的构造函数是私有的,创建对象只要写个元素就行了. 例子:获取星期枚举对应的中文值 public enum Day { MON(){ @Override public String getDay() { return "星期一"; } } ,TUE(){ @Override public String getDay() { return "星期二"; } },WED(){ @Override public String getDay() { return "星期三"; } },THU(){ @Override public String getDay() { return "星期四"; } },FRI(){ @Override public String getDay() { return "星期五"; } },SAT(){ @Override public String getDay() { return "星期六"; } },SUN(){ @Override public String getDay() { return "星期日"; } }; public abstract String  getDay(); }

上一篇:JAVA String.format 方法使用介绍
下一篇:《唐老师C++》之const引用

相关文章

相关评论