黑马程序员技术交流社区

标题: 再来一个枚举的总结 分享一下 [打印本页]

作者: 乖睡觉咯    时间: 2013-8-25 21:32
标题: 再来一个枚举的总结 分享一下
枚举总结一。枚举的作用介绍枚举,可以对只有几种取值可能的东西,进行限定,加入你取值不是限定中的其中之一,那么编译器就会报错,这样大大提高了程序的安全性,健壮性!二。枚举的实现原理枚举的原理,就好像是单例模式,把构造方法私有化,不要让别人创建对象,而由自己对外提供几个自己这个类的静态常量对象,这样,在赋值的时候,只能选我提供的这几个静态常量对象,而不能自己new对象!所以每个枚举元素都是一个对象!
2.自定义的枚举可以有抽象方法,该抽象方法必须由枚举的元素对象去实现,只要在枚举元素后面加个括号,括号后面在加个大括号,里面写个抽象方法的实现,就代表该元素对象是枚举类的子类!!
3.定义枚举用enum关键字,类似class关键字,枚举是一个特殊的类,枚举的取值范围,元素列表,必须定义在第一行,最前面,多个元素用逗号分隔,最后个元素用分号结束!!枚举的构造方法必须私有化!枚举可以有带参数的构造方法,调用该构造方法,只要在元素后面加个()括号传个相应的参数就可!
4.new Data(30){}。代表创建一个Data的子类,并调用父类有参数的构造方法!枚举当之有一个元素成员时,那就是一个单例! package cn.itcast.day1;
public abstract class WeekDay1 {        private WeekDay1(){}                public final static WeekDay1 SUN = new WeekDay1(){
                @Override                public WeekDay1 nextDay() {                        // TODO Auto-generated method stub                        return MON;                }                        };        public final static WeekDay1 MON = new WeekDay1(){
                @Override                public WeekDay1 nextDay() {                        // TODO Auto-generated method stub                        return SUN;                }                        };                        public abstract WeekDay1 nextDay();        /*        public WeekDay nextDay(){                if(this == SUN){                        return  MON;                }else{                        return SUN;                }        }*/                public String toString(){                return this==SUN?"SUN":"MON";        }}5.枚举不能被继承,但是可以有子类!


作者: 陈春    时间: 2013-8-26 20:37
妈的.22分了.我操.
作者: 乖睡觉咯    时间: 2013-8-28 22:05
陈春 发表于 2013-8-26 20:37
妈的.22分了.我操.

注意文明用语哈 {:soso_e142:}

作者: 328078121    时间: 2013-8-29 07:57
值得学习..
作者: 刘孝泽    时间: 2014-7-8 15:06
总结很给力 用到了 多谢
作者: SLJ_920808    时间: 2014-7-8 20:18
学习一下!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2