枚举类,是一个可以提供有限个数的实例的类模板。它有点类似单例模式,如果说实例个数为1的话,就等同于单例模式。
我们在学习这个的时候,一般是先学习enum关键字的写法,再去学习自定义枚举类。
我觉得应该先去学习自定义枚举类,因为enum关键字只是一种简化的写法,这样更容易弄清一个东西实质。
枚举在具体的项目中还是挺多的,可以用来表示一些常量,维护修改都比较方便,而且可以见名知意。
先来看一个自定义的枚举类。
public class MyEnum {
//提供两个实例
public final static MyEnum MY_ENUM_1 = new MyEnum(1,"AAA");
public final static MyEnum MY_ENUM_2 = new MyEnum(2,"BBB");
//两个属性
private int code;
private String name;
//私有的构造方法
private MyEnum(int code, String name) {
this.code = code;
this.name = name;
}
//一些对应的get和set方法
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
改用enum关键字后的写法。
public enum MyEnum2 {
//必须省略修饰符
MY_ENUM_1(1,"AAA"), MY_ENUM_2(2,"BBB");
private int code;
private String name;
//构造方法private可以省略
MyEnum2(int code, String name) {
this.code = code;
this.name = name;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}