张孝祥高新技术部分,jdk1.5新特性枚举的概念及应用

来源:互联网 发布:淘宝10元包邮网址 编辑:程序博客网 时间:2024/05/23 23:14
package com.javaEnum;


public class EnumTest {


public static void main(String[] args) {
// TODO Auto-generated method stub
/**枚举就是让某个类型变量的取值只能为若干个固定值中的一个,否则编译器就会报错。
* 枚举可以让编译器在编译时就可以控制程序源中非法输入的值。
* 枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。
* 枚举的常用方法:name();
* ordinal();
* valueOf().toString();
* values().length;

* */


WeekDay weekday=WeekDay.MON;
System.out.println(weekday);
System.out.println(weekday.name());
System.out.println(weekday.ordinal());//返回枚举常量的序列号
System.out.println(weekday.valueOf("SUN").toString());
System.out.println(weekday.values().length);//返回枚举常量的长度



}
public enum WeekDay{
/**
* 枚举也是一个类,有构造方法,也有抽象方法。
* */

SUN(1),MON,TUE,WED,THI,FRI,SAT;
/**常量后的括号里面的参数代表的是构造方法的参数类型,
* */
private WeekDay(){
System.out.println("frist");
}
private WeekDay(int day){
System.out.println("second");
}
}




/**枚举的抽象方法
 * */
public enum TrafficLamp{
RED(30){
public TrafficLamp nextLamp(){
return GREEN;
}
},GREEN(45){
public TrafficLamp nextLamp(){
return YELLOW;
}

},YELLOW(5){
public TrafficLamp nextLamp(){
return RED;
}

};
public  abstract TrafficLamp nextLamp();
private int time;
private TrafficLamp(int time){
this.time=time;
}
}


}
/**
 * 如果枚举只有一个常量成员时,就可以作为一种单列的实现方式。
 * */
0 0
原创粉丝点击