一.基础准备
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 }
二.