Java枚举总结:
作用:在需要写入多个常量的时候,使用枚举更加的方便,而且安全性更高
class text {
public static final "星期一"
public static final "星期二"
public static final "星期三"
public static final "星期四"
public static final "星期五"
public static final "星期六"
public static final "星期日"
}
class enum day{
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
}
枚举中常见的用法:
1, day d1 = day.Monday
day.valueOf(“Monday”)//这是获取为Monday的常量
2, Swich case中用于 case(参数)的匹配
3, 枚举中可以添加 构造方法,普通方法
public enum ceshi {
Monday("星期一", 1), Tuesday("星期二", 2), Wednesday("星期三", 3);
private String name;
private int index;
private ceshi(String name, int index) {
this.name = name;
this.index = index;
}
@Override
public String toString() {
return this.index + this.name;
}
}
4, 枚举可以实现接口
5, 遍历枚举
for (Color c: Color.values())
System.out.println(“find value:” + c);
6, 枚举中可以定义抽象方法,在每个常量中需要重写该方法
public enum ceshi {
Monday{
@Override
public String getInfo() {
return "不上班";
}
},
Tuesday{
@Override
public String getInfo() {
return "继续不上班";
}
};
private String name;
private int index;
private ceshi(String name, int index) {
this.name = name;
this.index = index;
}
private ceshi() {
}
public abstract String getInfo();
@Override
public String toString() {
return this.index + this.name;
}
}
Java枚举是一个非常强大的功能,但它有严重的局限性。枚举值是静态的,必须在代码中定义。