一.基础准备

  



1 import java.util.Date;
2
3 class TestEnum {
4 public enum TraficLamp {
5 //Red,Green,Yellow;
6 Red(30) {//new子类的对象并调用父类的有参构造方法
7
8 @Override
9 public TraficLamp nextLamp() {
10 // TODO Auto-generated method stub
11 return Green;
12 }
13 },//必须加逗号
14
15 Green(45) {
16
17 @Override
18 public TraficLamp nextLamp() {
19 // TODO Auto-generated method stub
20 return Yellow;
21 }
22
23 },//必须加逗号
24
25 Yellow(5) {
26
27 @Override
28 public TraficLamp nextLamp() {
29 // TODO Auto-generated method stub
30 return Red;
31 }
32
33 };//必须加分号
34
35 /*
36 * 若是写下面的抽象方法,则必须让子类实现该方法,也就是上面的三个元素。
37 */
38 public abstract TraficLamp nextLamp();
39
40 private int time;
41
42 private TraficLamp(int time) {
43 this.time = time;
44 }
45
46
47 }
48
49 public static void main(String[] args) {
50 TraficLamp m = TraficLamp.Red;
51 System.out.println(m);
52 System.out.println(m.name());
53 System.out.println(m.ordinal());
54 System.out.println(TraficLamp.valueOf("Red").toString());//是red的话CE
55 System.out.println(TraficLamp.values().length);
56
57 new Date(300) {//new子类的对象并调用父类的有参构造方法这样是可以的
58
59 };
60 }
61 //如果枚举只有一个成员时就可以作为单例实现方式
62 }