枚举

来源:互联网 发布:c语言课程设计单词统计 编辑:程序博客网 时间:2024/05/29 12:24

枚举类的普通类实现:

package cn.itcast.day1;public abstract class WeekDay1 {private WeekDay1(){}public final static WeekDay1 SUN = new WeekDay1(){@Overridepublic WeekDay1 nextDay() {// TODO Auto-generated method stubreturn MON;}};public final static WeekDay1 MON = new WeekDay1(){@Overridepublic WeekDay1 nextDay() {// TODO Auto-generated method stubreturn SUN;}};public abstract WeekDay1 nextDay();/*public WeekDay nextDay(){if(this == SUN){return  MON;}else{return SUN;}}*/public String toString(){return this==SUN?"SUN":"MON";}}
枚举类实现:

package cn.itcast.day1;import java.util.Date;public class EnumTest {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubWeekDay1 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);weekDay2.test();new Date(300){};}public enum WeekDay{//普通实现,SUN(1)表示用第二个构造方法,不写或()用无参构造方法SUN(1),MON(),TUE,WED,THI,FRI,SAT;private WeekDay(){System.out.println("first");}private WeekDay(int day){System.out.println("second");}private void test(){}}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
原创粉丝点击