枚举enum的简单实例

 1 public abstract class WeekDay1 {
 2 
 3     private WeekDay1(){}
 4     
 5     public final static WeekDay1 SUN = new WeekDay1() {
 6         //抽象类的方法不能实现,所以只能用内部子类实现
 7         @Override
 8         public WeekDay1 nextDay() {
 9             // TODO Auto-generated method stub
10             return MON;
11         }
12         
13     };
14     
15     public final static WeekDay1 MON = new WeekDay1() {
16 
17         @Override
18         public WeekDay1 nextDay() {
19             // TODO Auto-generated method stub
20             return SUN;
21         }
22         
23     };
24     
25     public abstract WeekDay1 nextDay();
26     
27     /***
28      * 
29      * @author Administrator
30         枚举 周一  到  周日  及带参数的构造方法
31      */
32     public enum WeekDay{
33         SUN(1),MON(),TUE(1,2,3,4),WED,THI,FRI,SAT;
34         private WeekDay(){System.out.println("first");}
35         private WeekDay(int day){System.out.println("second");}
36         private WeekDay(int day,int ... args){
37             System.out.println("thired");
38         }
39     }
40     
41     public static void main(String[] args) {
42         System.out.println(WeekDay.SUN);
43     }
44     
45     
46     /***
47      * 枚举红绿黄灯
48      */
49     public enum TrafficLamp{
50         RED(30) {
51             @Override
52             public TrafficLamp nextLamp() {
53                 // TODO Auto-generated method stub
54                 return GREEN;
55             }
56         } ,
57         GREEN(40) {
58             @Override
59             public TrafficLamp nextLamp() {
60                 // TODO Auto-generated method stub
61                 return YELLOW;
62             }
63         },
64         YELLOW(5) {
65             @Override
66             public TrafficLamp nextLamp() {
67                 // TODO Auto-generated method stub
68                 return RED;
69             }
70         };
71         public abstract TrafficLamp nextLamp();
72         private int time;
73         private TrafficLamp(){}
74         private TrafficLamp(int time){
75             this.time = time;
76         }
77     }
78 }

 

posted @ 2016-11-15 16:21  CZ-伊甸园  阅读(340)  评论(0)    收藏  举报