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作为内嵌成员类时,编译后会产生一个主类和一个内嵌成员类.