JAva列挙の使用例

1371 ワード

 
  
public class test {
 public static void main(String[] args) {
  WeekDay w = WeekDay.MON;
  System.out.println(w);// tostring
  System.out.println(w.ordinal());//
  System.out.println(WeekDay.values().length);//
 }
 public enum WeekDay{
  SAT,MON,TUE,WED,THU,FRI,SAT,
  private WeekDay(){
   System.out.println("11");
  }
  private WeekDay(int a){
   System.out.println("a");
  }
 }
}

まず、簡単な列挙クラスWeekDayを定義します.
このクラスのsat,mon..実際にweekdayクラスのオブジェクトです
注意:
列挙クラスにも構造方法があり、構造方法は私有でなければならない.
次のコードで列挙タイプの使用を理解できるはずですが、内部クラスと結びつけて理解するには
 
  
public enum TrefficLamp{
  RED(30){// int ,
   public TrefficLamp nextLamp(){
    return GREEN;
   }
  },
  GREEN(20){
   public TrefficLamp nextLamp(){
    return YELLOW;
   }
  },
  YELLOW(2){
   public TrefficLamp nextLamp(){
    return RED;
   }
  };
  public abstract TrefficLamp nextLamp();
  private int time;
  private TrefficLamp(int time){
   this.time = time;
  };
 }