欢迎来到天天文库
浏览记录
ID:62033632
大小:25.00 KB
页数:2页
时间:2021-04-15
《JAVA中的枚举类型1:基本用法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、枚举是Java5开始支持的新特性,其作用是将一组相关的常量定义在一个类型中,这样在使用时就只能使用这些有限的常量。先定义一个代表一周七天的枚举类型作为范例:Java代码1.enum Weekday { 2. SUNDAY, MONDAY, TUESDAY, WEDNSDAY, THURSDAY, FRIDAY, SATURDAY 3.}; enumWeekday{ SUNDAY,MONDAY,TUESDAY,WEDNSDAY, THURSDAY,FRIDAY,SATURDAY};这样就定义好了一个Weekday枚举类型,注意最后的分号是可以省略的.因为Weekd
2、ay中只有7个成员,所以Weekday的变量只能取其中一个值,例如:Java代码 1.Weekday wd = Weekday.MONDAY; Weekdaywd= Weekday.MONDAY; 这样看起来枚举类型似乎很简单,其实它本质上是一个类,其隐含的父类是java.lang.Enum,所以Weekday自动继承了Enum的方法,其中有两个挺有用,一个叫ordinal(),返回成员的声明顺序编号,这是一个整数,值从0开始编号,比如Weekday.SUNDAY。ordinal()返回0,而Weekday。MONDAY.ordinal()返回1。另一个方法叫做name()
3、,返回枚举成员的名称.更有意思的是,枚举类型可以直接用于switch语句,这个功能看起来是突破了Java中switch只能用于整数和字符的限制,不过其实是Java编译器的障眼法,Java编译器会自动在枚举成员上调用ordinal()方法,例如:Java代码1.Weekday wd = Weekday。FRIDAY; 2.switch (wd) { 3.case MONDAY: 4. System.out.println("这个星期才刚开始,慢慢等吧"); 5. break; 6...。 7.case FRIDAY: 8. System.o
4、ut.println(”周末来了,好好享受吧"); 9. break; 10..。. 11.} Weekday wd=Weekday.FRIDAY;switch (wd) {case MONDAY: System。out.println("这个星期才刚开始,慢慢等吧");break;.。.caseFRIDAY: System。out.println("周末来了,好好享受吧”); break;..。}如果想遍历Weekday,那么可以使用它隐含的静态方法values(),这个方法在文档中找不到定义,是Java编译器自己加上去的,很奇怪! 例如:Java代
5、码1.for (Weekday wd : Weekday.values()) { 2. System.out。println(wd + ", 顺序: " + wd.ordinal()); 3.} for (Weekday wd: Weekday。values()){System.out。println(wd+ ”,顺序:”+wd.ordinal());}以上是枚举的基本用法,实际上枚举本身要复杂的多,比如可以定义构造函数,定义字段,定义和重写方法,甚至可以在枚举的常量中重写枚举中的方法,这些内容将在下一篇文章中介绍。
此文档下载收益归作者所有