(1)定义枚举类
public enum Gender {
/*
* Java 5开始出现了枚举
* 枚举元素必须位于枚举类中的开始部分
* 枚举的每一个元素都相当于一个常量 public static final
*/
WOMAN("女"),MAN("男"),NONE("保密");
private String name;
/**
* 枚举类必须定义构造方法,默认是私有的,这样才能和枚举元素对应上
* @param sex 性别
* @param index 序号
*/
private Gender(String sex) {
this.name = sex;
}
/**
* 覆写toString()方法
*/
public String toString() {
return this.name;
}
public String getName() {
return name;
}
}
定义主函数进行测试
public class EnumDemo {
public static void main(String[] args) {
Gender m = Gender.MAN;
Gender m2 = Gender.WOMAN;
System.out.println(m);//男
System.out.println(m2);//女
System.out.println("------------------");
//所有枚举类都提供一个静态的values()方法(返回该枚举类所有对象组成的数组)
//便于遍历所有枚举对象;
Gender[] gs = Gender.values();
for (Gender gender : gs) {
System.out.println(gender);
}
System.out.println("------------------");
//所有枚举类都提供一个静态的valueOf(String name)方法
//返回枚举类中对象名等于 name的对象,严格区分大小写
Gender m3 = Gender.valueOf("NONE");
System.out.println(m3);//保密
System.out.println("------------------");
/*
* java.lang.Enum类下的常用方法:
* String name() 返回此枚举常量的名称,在其枚举声明中对其进行声明
* int ordinal() 返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)
* 当然,也可以在定义枚举时显示的定义枚举的序号
*/
System.out.println(m2.name()+"--"+m2.ordinal());//WOMAN--0
System.out.println(m3.name()+"--"+m3.ordinal());//NONE--2
}
}