01.Enum不可以有public或者protected的构造方法,只能是private或friendly(就前面不用修饰符),这样可以保证客户代码不能新建一个Enum的实例,我们也不需要实例化Enum对象。
Enum定义的列表成员跟接口一样都是public,static,final的,每一个的列表成员都是一个对象,该对象是由上面提到的构造方法构造的。构造方法的参数列表很重要。
如:
public enum MyEnum {
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); //每一个成员都是一个MyEnum对象
private String name;
private int index;
MyEnum(String name,int index){
this.name = name;
this.index = index;
}
public int getindex(){
return index;
}
public String getName(){
return name;
}
public String toString(){
return name;
}
}
02.Enum的枚举值都是public static final(非枚举值可以不是)
03.Enum默认实现了java.lang.Comparable接口
04.Enum重写了toString()
05.Enum提供valueOf(),这个方法与toString相对应,因此重写toString(),一定要重写valueOf()
//我们可以重写toString(),不可以自己重写valueOf(),当我们重写toString()方法时,valueOf()会自动重写,不用我们理会。
也可以单独针对某个枚举值(对象)重写toString()方法,如:
public enum Week {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, STR {
public String toString() {
return "输入参数有误,参数值范围在0~6";
}
};
06.Enum提供values()可以遍历枚举值 返回的就像ArrayList<MyEnum>的对象,然后我们可以这样遍历每个枚举值
for(MyEnum m : MyEnum.values()){
System.out.println(m);
}
07.Enum的长度values().length
08.Enum提供oridinal()可以返回枚举值顺序
Enum定义的列表成员跟接口一样都是public,static,final的,每一个的列表成员都是一个对象,该对象是由上面提到的构造方法构造的。构造方法的参数列表很重要。
如:
public enum MyEnum {
RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); //每一个成员都是一个MyEnum对象
private String name;
private int index;
MyEnum(String name,int index){
this.name = name;
this.index = index;
}
public int getindex(){
return index;
}
public String getName(){
return name;
}
public String toString(){
return name;
}
}
02.Enum的枚举值都是public static final(非枚举值可以不是)
03.Enum默认实现了java.lang.Comparable接口
04.Enum重写了toString()
05.Enum提供valueOf(),这个方法与toString相对应,因此重写toString(),一定要重写valueOf()
//我们可以重写toString(),不可以自己重写valueOf(),当我们重写toString()方法时,valueOf()会自动重写,不用我们理会。
也可以单独针对某个枚举值(对象)重写toString()方法,如:
public enum Week {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, STR {
public String toString() {
return "输入参数有误,参数值范围在0~6";
}
};
06.Enum提供values()可以遍历枚举值 返回的就像ArrayList<MyEnum>的对象,然后我们可以这样遍历每个枚举值
for(MyEnum m : MyEnum.values()){
System.out.println(m);
}
07.Enum的长度values().length
08.Enum提供oridinal()可以返回枚举值顺序