黑马程序员技术交流社区
标题:
再来一个枚举的总结 分享一下
[打印本页]
作者:
乖睡觉咯
时间:
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