枚举实际上是一个特殊的Java类,需要enum关键字才能创建枚举。 枚举类都是java.lang.Enum的子类,java.lang.Enum是抽象类,枚举类型符合通用模式Class Enum。 这里的e表示枚举类型的名称。 枚举类中的每个值都映射到protectedenum(stringname,int ordinal )构造函数,每个值(如num enum one )的名称都将转换为字符串。 ordinal表示创建的顺序。 (默认值为0、1、2、3…)。
枚举类enum定义如下:
枚举编号枚举{
ONE,TWO,THREE,FOUR
}
实际上,将调用以下方法:
新枚举(' one ',0 );
新枚举(' two ',1 );
新枚举(' three ',2 );
新枚举(' four ',3 );
常用方法如下:
//将此枚举与指定对象的顺序进行比较
intcompareto(eo ) )。
//返回与此枚举常量的枚举类型相对应的Class对象
Class getDeclaringClass (
//返回此枚举常量的名称
String name ()
//返回枚举常量的序号(在枚举声明中的位置。 其中初始常数序号为零) ) )。
int ordinal () )
//返回枚举常量的名称
字符串tostring ()
//返回给定名称的给定枚举类型的枚举常量
静态值(classe numtype,String name ) )。
调用NumEnum的常见方法如下:
system.out.println (num enum.one.com Pareto ) numenum.four ); //-3
system.out.println (num enum.one.getdeclaringclass () ); //class com.jeeno.test.NumEnum
system.out.println (num enum.two.name ); //TWO
system.out.println (num enum.three.ordinal (); //2
system.out.println (num enum.three.tostring (); //THREE
system.out.println (num enum.one.value of (' four ' ); //FOUR
其实enum是class,只是Java编译器帮我解析和编译语法。 enum可以被认为是普通的class,并且可以定义一些属性和方法。 但是,enum不能使用extends关键字继承其他类。 因为枚举已经继承了Java.lang.enum。 (Java是单一继承。