您的位置:首页 > 编程语言 > Java开发

java-基础加强之枚举

2012-12-01 17:19 344 查看
public class EnumTest {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

WeekDay1 weekDay = WeekDay1.MON;

System.out.println(weekDay.nextDay());

WeekDay weekDay2 = WeekDay.FRI;

System.out.println(weekDay2);

System.out.println(weekDay2.name());

System.out.println(weekDay2.ordinal());

System.out.println(WeekDay.valueOf("SUN").toString());

System.out.println(WeekDay.values().length);

new Date(300){};

}

public enum WeekDay{//定义枚举就是用这个单词 enum ,它和类是一个级别的

SUN(1),MON(),TUE,WED,THI,FRI,SAT;// 枚举中的元素不能在外部类中添加,因为构造方法已经私有化了,所以元素就说固定的几个,且都为枚举的对象

private WeekDay(){System.out.println("first");}//默认空参数构造方法

private WeekDay(int day){System.out.println("second");}//也可以知道有参数的构造方法

}

public abstract 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;}//注意:这里创建子类对象用的是父类有参的构造方法(这种方法可行。。。)

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: