一、枚举概述
枚举类是一种特殊的类,它的对象个数是有限个。
适用场景: 当对象的个数已经固定,并有限时,例如:性别,星期等等
二、枚举中的方法
a.ordinal();获取枚举对象的序号
b.name();把枚举对象转为字符串
c.valueOf;把字符串转为枚举对象
d.values();以数组形式返回所有的枚举对象。
public enum 枚举类名{
MALE;
FEMALE;
}
public class TestEnum {
public static void main(String[] args) {
// 获取枚举对象的序号,序号从0开始
System.out.println(Sex.MALE.ordinal());//0
System.out.println(Sex.FEMALE.ordinal());//1
// 把枚举对象转为字符串
System.out.println(Sex.MALE.name()); //MALE
// 把字符串转为枚举对象, 虚拟机中的枚举对象只会有一份, 可以用== 来比较
System.out.println(Sex.valueOf("MALE") == Sex.MALE);//true
// 打印所有的枚举对象
for (Sex value : Sex.values()) {
System.out.println(value);//MALE / FEMALE
}
}
}
三、
a.枚举类中的构造方法不能是公有的
b.枚举类也不能被继承。
c.定义的对象的参数类型和个数必须与构造方法保持一致。
public enum Sex {
MALE("男"),
FEMALE("女");
private String cName;
public String cnName() {
return this.cName;
}
// 构造方法不能是公共的
Sex(String cnName) {
this.cName = cnName;
}
}
public class TestEnum {
public static void main(String[] args) {
System.out.println(Sex.MALE.cnName());//男
System.out.println(Sex.FEMALE.cnName());//女
}
}