黑马程序员20——高新枚举
来源:互联网 发布:网络限制怎么解决 编辑:程序博客网 时间:2024/06/05 20:09
------- android培训、java培训、期待与您交流! ----------
枚举
枚举是一种特殊的类,其中的每个元素都是该类的一个实例对象。
特点:
1.枚举是Java5.0引入的新特性,枚举就相当于一个类,其中也可以定义构造方法、成员变量、普通方法和抽象方法。
2.枚举元素必须位于枚举体中的最开始部分,枚举元素列表的后要有分号与其他成员分隔。
3.把枚举中的成员方法或变量等放在枚举元素的前面,编译器报告错误。
枚举的定义格式:
权限修饰符 enum 枚举名称{
值1,值2,值3,值4,值5;
}
例如: public enum Color{
RED,BLUE,BLACK,YELLOW,GREEN;
}
注意:
1.枚举可以带构造方,构造方法必须定义成私有,枚举只有一个成员时,就可以作为一种单例的实现方式。
2.要定义星期几或性别的变量,假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday = 0;或即使使用常量方式也无法阻止意外。枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。
package com.shechuan.enumclass;public class EnumClass {public static void main(String[] args) {WeekDay weekDay = WeekDay.MONDAY;System.out.println("用类模拟枚举:" + weekDay.nextWeekDay());AbstractWeekDay abstractWeekDay = AbstractWeekDay.FRIDAY;System.out.println("用抽象类模拟枚举:" + abstractWeekDay.nextWeekDay());System.out.println("+++++++++++++++++++++++++++++");EnumWeekDay enumWeekDay = EnumWeekDay.SUN;// 在这里调用所有的构造函数System.out.println();System.out.println("枚举:" + enumWeekDay);System.out.println("该枚举中的名字:" + enumWeekDay.name());System.out.println("该枚举中的序号:" + enumWeekDay.ordinal());System.out.println("前端传来的字符串转化成枚举:" + EnumWeekDay.valueOf("SUN"));System.out.println("返回枚举中的每个元素组成的数组:(这里求数组的长度)"+ EnumWeekDay.values().length);}public enum EnumWeekDay {SUN, MON, TUE, WED, THU, FIR(), SAT(1);private EnumWeekDay() {System.out.println("无参构造方法");}private EnumWeekDay(int a) {System.out.println("星期六的构造方法");}}public enum TrafficLamp {//类似于匿名内部类GREEN(45){public TrafficLamp nextTrafficLamp(){return YELLOW;}}, YELLOW(5){public TrafficLamp nextTrafficLamp(){return RED;}}, RED(50){public TrafficLamp nextTrafficLamp(){return GREEN;}};int time;private TrafficLamp() {}private TrafficLamp(int time) {this.time = time;}public abstract TrafficLamp nextTrafficLamp();}/* * 枚举只有一个成员时,可以实现单例 */}
0 0
- 黑马程序员20——高新枚举
- 黑马程序员——高新部分——高新入门、JDK1.5新特性及枚举
- 黑马程序员_高新_枚举
- 黑马程序员Java高新__枚举
- 黑马程序员——java高新(枚举、内省、注解、类加载器)
- 黑马程序员_java高新枚举与反射
- 黑马程序员_java高新之枚举类型
- 黑马程序员-Java学习(高新)16-枚举,反射
- 黑马程序员—枚举
- 黑马程序员——枚举和一些新特性
- 黑马程序员——枚举(JDK5的新特性)
- 黑马程序员—JDK1.5新特性之枚举enum
- 黑马程序员----高新
- 黑马程序员——Java高新——反射
- 黑马程序员——Java高新_动态代理
- 黑马程序员——Java高新_反射
- 黑马程序员——Java高新_泛型
- 黑马程序员19——高新JavaBean
- o2o
- 固态硬盘与机械硬盘读取速度实测
- IE6 png图片bug的解决方法
- Yii/Yii2:查询返回以某特定列为索引(键)的数组
- 【比scrapy轻量】scrapely的使用
- 黑马程序员20——高新枚举
- another函数列表:for linux_datacollection_sys
- VB Google Translation
- javascript常用插件
- sql server 2008 win7下安装检查,重启计算机 失败
- uva 502(模拟)
- oracle db中,某一种数据字典pct miss的计算公式
- lightoj 1240 计算机图论(计算三维点到线段的距离)
- SSH启动异常: java.lang.NoClassDefFoundError: javax/el/ExpressionFactory