1. 在J2SE5.0中要定义枚举类型是使用enum关键词,枚举类型主要提供一些常数。如下列代码定义了Action枚举类型:
Java代码
public enum Action
{
TURN_LEFT,
TURN_RIGHT,
SHOOT
}
在Action.java中编写此段代码并编译,虽然语法上不像是在定义类,但枚举类型本质上就是一个类。所以编译完成后,会产生一个Action.class文件。
下面的代码是说明如何使用定义好的枚举类型一个示例:
Java代码
public class EnumDemo
{
public static void main(String[] args)
{
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;
}
}
}
运行结果:向右转。其中doAction()方法所接受的变量必须是Action枚举类型,如果对此方法输入其他类型的变量,编译器会报告错误。另外,如果在上面的switch中加入了不属于Action中枚举的值,编译器也会报告错误。例如:在上面代码case SHOOT段下面再加上以下代码:
case STOP:
System.out.println("STOP");
break;
则在编译时编译器会显示以下错误:
unqualified enumeration constant name required
case STOP:
|