JAVA enum學習筆記

package jie.com;

public enum Action {
 TURN_LEFT,
 TURN_RIGHT,
 SHOOT
 

}


//枚舉實際上也是一個類,所以編譯完成後,會產生一個Action.class的類文件.

package jie.com;

public class EnumDemo {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
         doAction(Action.TURN_RIGHT);
 }
 
 public static void doAction(Action action)
 {
  switch(action)
  {
  case TURN_LEFT:
   System.out.println("向左轉");
   break;
  case TURN_RIGHT:
   System.out.println("向右轉");
   break;
  case SHOOT:
   System.out.println("射擊");
   break;
  }
 }

}


package jie.com;

public class ShowEnum {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
        for(Action action:Action.values())
        {
         System.out.println(action+" "+action.ordinal());
        }
 }

}


//values()用來輸出枚舉中的枚舉的名稱,而ordinal()則用來輸出枚舉中的每個枚舉的序號,從0開始...

 

package jie.com;

public class EnumDemo2 {

 private enum InnerAction{TURN_LEFT,TURN_RIGHT,SHOOT};
 
 
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
       doAction(InnerAction.TURN_LEFT);
 }
 
 public static void doAction(InnerAction action)
 {
  switch(action)
  {
  case TURN_LEFT:
   System.out.println("向左轉");
   break;
  case TURN_RIGHT:
   System.out.println("向右轉");
   break;
  case SHOOT:
   System.out.println("射擊");
   break;
  }
 }

}

//當enum作爲內嵌成員類時,編譯後會產生一個主類和一個內嵌成員類. 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章