黑马程序员-java枚举总结

黑马程序员-java枚举总结

ID:43313138

大小:132.42 KB

页数:11页

时间:2019-09-30

黑马程序员-java枚举总结_第1页
黑马程序员-java枚举总结_第2页
黑马程序员-java枚举总结_第3页
黑马程序员-java枚举总结_第4页
黑马程序员-java枚举总结_第5页
资源描述:

《黑马程序员-java枚举总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一、为什么要有枚举先看一个问题:当要定义表示一个星期几的变量时,该如何定义?假设有人用1-7分别表示周一至周日,但也有人可能用0表示周日。枚举的出现是为了让某个类型的变量的取值只能为若干个固定值中的一个,否则编译器就会报错。枚举可以让编译器在编译时期就发现源程序中填写的非法值,而普通变量在开发阶段无法实现这个目标。首先,我们先试着用普通类模拟枚举,这样便于后面我们对枚举的理解二.用普通类模拟枚举的实现原理1)私有的构造方法;2)每个元素分别用一个公有的静态成员变量表示;3)可以有若干个公有方法或抽象方法。例1:[

2、java]viewplaincopyC1•packagecom•cn•itcast;2.3.publicabstractclassWeekDayl{4.//构造方法私有,从而从外部新建WeekDayl对象5.privateWeekDayl(){}6./********************************************************************************7.//定义7个表示星期的常量,且是WeekDayl类型8.publicfinalstaticWeekDa

3、ySUN=newWeekDay();9.publicfinalstaticWeekDayMON=newWeekDay();10.publicfinalstaticWeekDayTUE=newWeekDay();11・publicfinalstaticWeekDayWEN=newWeekDay();12.publicfinalstaticWeekDayTHU=newWeekDay();13.publicfinalstaticWeekDayFRI=newWeekDay();14.publicfinalstaticWe

4、ekDaySAT=newWeekDay();15.16.〃定义返回第二天的方法,利用if・・・else判断,麻烦17.publicWeekDaynextDay(){18.if(this==SUN)19.returnMON;20.elseif(this==MON)21.returnTUE;22.elseif(this==TUE)23.returnWEN;24.elseif(this==WEN)25.returnTHU;26.elseif(this==THU)returnFRI;elseif(this==FRI)re

5、turnSAT;elsereturnSUN;}//复写toString方法》利用if・・.else判断,麻烦publicStringtoString(){if(this==SUN)return"SUN”;elseif(this==MON)return"MON”;elseif(this==TUE)return”TUEf,;elseif(this==WEN)return"WEN”;elseif(this==THU)return"THU”;elseif(this==FRI)return,,FRIi,;elseretur

6、n”SAT”;}*****************************************************************************************///利用if...else断,麻烦。直接在定义每个对象时,利用匿名内部类复写nextDay().toString()方法publicfinalstaticWeekDaylSUN=newWeekDayl(){publicWeekDaylnextDay(){returnMON;}publicStringtoString(){

7、return"SUN";}};publicfinalstaticWeekDaylMON=newWeekDayl(){publicWeekDaylnextDay(){returnTUE;}publicStringtoString(){return"MON";}};publicfinalstaticWeekDaylTUE=newWeekDayl(){publicWeekDaylnextDay(){returnWEN;}publicStringtoString(){return"TUE11;}};publicfinal

8、staticWeekDaylWEN=newWeekDayl(){publicWeekDaylnextDay(){returnTHU;}publicStringtoString(){return"WEN";}};publicfinalstaticWeekDaylTHU=newWeekDayl(){publicWeekDaylnextDay(){returnFRI;}publ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。