A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 乖睡觉咯 中级黑马   /  2013-8-25 21:32  /  1999 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

枚举总结一。枚举的作用介绍枚举,可以对只有几种取值可能的东西,进行限定,加入你取值不是限定中的其中之一,那么编译器就会报错,这样大大提高了程序的安全性,健壮性!二。枚举的实现原理枚举的原理,就好像是单例模式,把构造方法私有化,不要让别人创建对象,而由自己对外提供几个自己这个类的静态常量对象,这样,在赋值的时候,只能选我提供的这几个静态常量对象,而不能自己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-29 16:20

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1 充当技术博客好啦

查看全部评分

6 个回复

倒序浏览
妈的.22分了.我操.
回复 使用道具 举报
陈春 发表于 2013-8-26 20:37
妈的.22分了.我操.

注意文明用语哈 {:soso_e142:}
回复 使用道具 举报
值得学习..
回复 使用道具 举报
总结很给力 用到了 多谢
回复 使用道具 举报
学习一下!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马