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作爲內嵌成員類時,編譯後會產生一個主類和一個內嵌成員類.