---------------------- android培训、java培训、期待与您交流! ----------------------
枚举类型是Java1.5引进新特性,Sun引入了全新的关键字enum来定义枚举类型,允许用常量来表示特定的数据。enum是一个很特殊的类,它的定义方法和普通的class一样,在编译时期编译器会将enum类型单独译成一个字节码文件,下面是一个普通的枚举类型定义:
public enum Color{RED,GREEN,YELLOW };
这里定义的color类,是一个不可以被继承的final类,其中定义的枚举数据都是color类型的静态常量,定义对象时 Color cl=Color.RED,这是一种常用方式。下面是枚举常用的一些方法:
String name();返回此枚举常量的名称,在其枚举声明中对其进行声明。
int ordinal();返回此枚举常量的序数,也就是在枚举声明中的位置,第一个序数为零。
String toString();返回枚举常量的名称,它包含在声明中。
static <T extends Enum<T>> valueOf(class<T> enumType,String name)返回带指定名称的指定枚举类型的枚举常量,调用valueOf("RED")返回Color.RED。
values()遍历所有的枚举值;
以color为例,遍历其所有的枚举值,使用增强的for循环
for(Color c:Color.values()){
System.out.println(c);}
为枚举类定义构造方法,但是它的构造方法不可以被public修饰,只能使用private来修饰。
public enum Color{
RED,GREEN,YELLOW ;
private Color(){System.out.println("1");}
private Color(int x){System.out.println("2");}
};有特定参数的构造方法,可以在枚举常量之后加上(),其中填上相对应的数据类型的参数即可。
为枚举类定义抽象方法,每个枚举对象就必须重写父类Color的抽象方法,同时使用构造函数时也是直接()传递参数即可。
public enum Color{
RED(30){
public Color nextColor()
{return GREEN;}
},
GREEN(40){
public Color nextColor()
{return YELLOW;}
},
YELLOW (5){
public Color nextColor()
{return RED;}
};
public abstract Color nextColor();
private Color(int time){this.time=time;}
};
---------------------- android培训、 java培训、期待与您交流! ----------------------详细请查看: http://edu.csdn.net/heima