下载此文档

黑马程序员-java枚举总结.docx


文档分类:IT计算机 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
一、为什么要有枚举先看一个问题: 当要定义表示一个星期几的变量时, 该如何定义?假设有人用 1-7 分别表示周一至周日,但也有人可能用 0 表示周日。枚举的出现是为了让某个类型的变量的取值只能为若干个固定值中的一个, 否则编译器就会报错。枚举可以让编译器在编译时期就发现源程序中填写的非法值,而普通变量在开发阶段无法实现这个目标。首先,我们先试着用普通类模拟枚举,这样便于后面我们对枚举的理解二、用普通类模拟枚举的实现原理 1 )私有的构造方法; 2 )每个元素分别用一个公有的静态成员变量表示; 3 )可以有若干个公有方法或抽象方法。例1: [java] view plain copy 1. .itcast; 2. 3. public abstract class WeekDay1 { 4. // 构造方法私有,从而从外部新建 WeekDay1 对象 5. private WeekDay1(){} 6. /*********************************************************************** *************** 7. // 定义 7个表示星期的常量,且是 WeekDay1 类型 8. public final static WeekDay SUN=new WeekDay(); 9. public final static WeekDay MON=new WeekDay(); 10. public final static WeekDay TUE=new WeekDay(); 11. public final static WeekDay WEN=new WeekDay(); 12. public final static WeekDay THU=new WeekDay(); 13. public final static WeekDay FRI=new WeekDay(); 14. public final static WeekDay SAT=new WeekDay(); 15. 16. // 定义返回第二天的方法,利用 if...else 判断,麻烦 17. public WeekDay nextDay(){ 18. if(this==SUN) 19. return MON; 20. else if(this==MON) 21. return TUE; 22. else if(this==TUE) 23. return WEN; 24. else if(this==WEN) 25. return THU; 26. else if(this==THU) 27. return FRI; 28. else if(this==FRI) 29. return SAT; 30. else 31. return SUN; 32. } 33. // 复写 toString 方法,利用 if...else 判断,麻烦 34. public String toString(){ 35. if(this==SUN) 36. return "SUN"; 37. else if(this==MON) 38. return "MON"; 39. else if(this==TUE) 40. return "TU

黑马程序员-java枚举总结 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
最近更新