例子1:
/**
* 枚举类都是单例模式
* @author HailongYao
*
*/
public enum ClothType {
MEN(11),WOMEN(22),NEUTRAL(33); //枚举对象是静态常量,可用 类.枚举对象 直接调用。括号为构造方法
private int value;
private ClothType(int value){ //枚举类的构造器是私有的
this.value = value;
}
//设置get和set方法获取某信息
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
/**
* 枚举类测试
* @author HailongYao
*
*/
public class ClothTest {
public static void main(String[] args) {
int ordinal = ClothType.NEUTRAL.ordinal();//返回枚举对象的序号,从0开始
String name = ClothType.WOMEN.name();
System.out.println(ordinal);
System.out.println(name);
System.out.println(ClothType.MEN.getValue());
// new ClothType(); 报错,枚举类不能实例化一个对象
}
}
结果:
enum就和class一样,只是一个关键字,他并不是一个类,那么枚举是由什么类维护的呢,我们简单的写一个枚举:public enum t { SPRING,SUMMER;}然后我们使用反编译,看看这段代码到底是怎么实现。通过反编译后代码我们可以看到(内容太多不贴了,读者自行反编译了解下),public final class T extends Enum,说明,该类是继承了Enum类的,同时final关键字告诉我们,这个类也是不能被继承的。当我们使用enmu来定义一个枚举类型的时候,编译器会自动帮我们创建一个final类型的类继承Enum类,所以枚举类型不能被继承。
————————————————————————相关链接—————————————————————————
点击查看,Java枚举类的简单使用1
点击查看,Java枚举类的简单使用2
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑