Java高级特性之枚举(二)

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()可以返回枚举值顺序  



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值