java枚举
2011-11-28 22:03
302 查看
1、枚举概述
在J2SE5.0中新增加了枚举这个类型,枚举是一种特殊的类,其中每个元素都是该类的一个实例对象。
2.用普通类如何实现枚举的功能,就是规定只能返回几个实例对象。
3、枚举的定义,使用enum关键字进行定义
publicenumWeekday
{
SUN,MON,TUE,WED,THI,FRI,SAT;//后面有其它成员是必须带分号,如果没有,可以不带
}
4、枚举的实质还是一个类,所以枚举有构造方法,只是构造方法必须是private的
privateWeekday(){}//构造方法必须为私有的,枚举元素的默认构造方法无参构造方法
privateWeeday(intindex){}//如果枚举的元素要调用有参构造方法时,则需要用这种方式进行传值SUN(value)
5,枚举还可以有变量、常量、普通方法和抽象方法。下面是定义的一个交通灯枚举类,可以很好说明枚举的组成部分
在J2SE5.0中新增加了枚举这个类型,枚举是一种特殊的类,其中每个元素都是该类的一个实例对象。
2.用普通类如何实现枚举的功能,就是规定只能返回几个实例对象。
//用普通类业实现枚举功能 publicclassWeekday{ //将构造方法私有化 privateWeekday(){} //定义几个实例变量 publicstaticWeekdayMON=newWeekday(); publicstaticWeekdayTUS=newWeekday(); publicstaticWeekdayWES=newWeekday(); publicstaticWeekdayTHI=newWeekday(); publicstaticWeekdayFRI=newWeekday(); publicstaticWeekdaySAT=newWeekday(); publicstaticWeekdaySUN=newWeekday(); publicvoidmethod(){ //dosomething } }
3、枚举的定义,使用enum关键字进行定义
publicenumWeekday
{
SUN,MON,TUE,WED,THI,FRI,SAT;//后面有其它成员是必须带分号,如果没有,可以不带
}
4、枚举的实质还是一个类,所以枚举有构造方法,只是构造方法必须是private的
privateWeekday(){}//构造方法必须为私有的,枚举元素的默认构造方法无参构造方法
privateWeeday(intindex){}//如果枚举的元素要调用有参构造方法时,则需要用这种方式进行传值SUN(value)
5,枚举还可以有变量、常量、普通方法和抽象方法。下面是定义的一个交通灯枚举类,可以很好说明枚举的组成部分
publicenumTraffic{
RED(30){//定义的枚举元素
@Override
publicTrafficnext(){//每个元素必须实现枚举类的抽象方法
//TODOAuto-generatedmethodstub
returnGREEN;
}
},
GREEN(20)
{
publicTrafficnext(){
//TODOAuto-generatedmethodstub
returnYELLOW;
}
},
YELLOW(3)
{
publicTrafficnext(){
//TODOAuto-generatedmethodstub
returnRED;
}
publicStringtoString()
{
return"黄灯亮"+this.YELLOW.time;
}
};
privateinttime;//变量
privateTraffic(){}//枚举的无参构造方法
privateTraffic(inttime){this.time=time;}//表示这个灯亮的时间
publicabstractTrafficnext();//定义一个抽象方法
}
相关文章推荐
- java 枚举(enum)学习
- JAVA 枚举类型 根据代码得到中文
- java 枚举
- 深度分析 Java 的枚举类型:枚举的线程安全性及序列化问题
- 【daily】Java枚举 - fastjson对enum的处理
- MapStruct处理Java中枚举Enum类型使用与举例
- 枚举系列 求N!所产生的数后面有多少个0 java版
- java enum(枚举)使用详解 + 总结
- JavaSE 学习参考:Java枚举示例 (2)
- java中枚举
- Java 2:枚举
- 黑马程序员-java中的枚举
- java中的枚举
- java中的枚举和注解
- 详细介绍java中的枚举类型
- Java中使用枚举
- java中的枚举类型
- java枚举与.net中的枚举区别
- (3)java数据结构--有枚举 属性
- java张孝祥(4) 枚举