枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,是一种特殊的class类型
模拟枚举的类的写法(单例)
public class Color {
public static final Color red = new Color("红色", 1);
public static final Color bule = new Color("蓝色", 2);
private String name;
private Integer code;
public static Color getRed() {
return red;
}
public static Color getBule() {
return bule;
}
private Color(String name, Integer code) {
super();
this.name = name;
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
@Override
public String toString() {
return "Color [name=" + name + ", code=" + code + "]";
}
public static void main(String[] args) {
System.out.println("蓝色" + Color.bule);
}
}
枚举写法(单例)
相当于new了几个MON, TUS,WED,THU,FRI,SAT,SUN单例对象
通过私有的构造函数给name和code赋值
public enum Week {
MON("星期一", 1), TUS("星期二", 2), WED("星期三", 3), THU("星期四", 4), FRI("星期五", 5), SAT("星期六", 6), SUN("星期天", 7);
private String name;
private Integer code;
private Week(String name, Integer code) {
this.name = name;
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public static void main(String[] args) {
Week mon = Week.MON;
System.out.println(mon.getName() + ":" + mon.getCode());
}
}