java枚举实例

实例一:

public enum OrderOption {
ASC,
DESC;

}

实例二(带参数构造函数):

public enum OrderOption {
ASC("ASC"),
DESC("DESC");
String type;

OrderOption(String type){
this.type = type;
}

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}
}

实例三(枚举公共方法):

public static void main(String[] args) {
System.out.println(SeasonEnum.getSeason("spring"));
}

public enum SeasonEnum {
spring, summer, autumn, winter;
public static SeasonEnum getSeason(String position) {
if ("spring".equals(position)){
return spring;
}else if("summer".equals(position)){
return winter;
}else if("autumn".equals(position)){
return autumn;
}else{
return winter;
}
}
}

实例四(带抽象方法的枚举):

public static void main(String[] args) {
System.out.println(OrderState.A.aaa());
}

public enum OrderState {
A{
public String aaa(){
return "优";
}
},
B{
public String aaa(){
return "良好";
}
},
C{
public String aaa(){
return "及格";
}
};

public abstract String aaa();
}

实例五(综合实例):

enum  Grade{//class  

    A("100-90"){  
        public String localeValue(){  
            return "优";  
        }  
    },  
    B("89-80"){  
        public String localeValue(){  
            return "良";  
        }  
    },  
    C("79-70"){  
        public String localeValue(){  
            return "一般";  
        }  
    },  
    D("69-60"){  
        public String localeValue(){  
            return "差";  
        }  
    },  
    E("59-0"){  
        public String localeValue(){  
            return "不及格";  
        }  
    };//Object  
      
    private String value; //封装每个对象对应的分数  
    private Grade(String value){  
        this.value = value;  
    }  
      
    public String getValue(){  
        return this.value;  
    }  
    public abstract String localeValue();  
      
}  
 
记住:枚举中的抽象方法,在创建枚举的对象的时候要实现抽象方法。
测试:
[java]  
package com.feng.myemu;  
  
import org.junit.Test;  
  
public class Demo1 {  
    @Test  
    public void test(){  
        print(Grade.B);  
    }  
      
    public void print(Grade g){  
        String value = g.localeValue();  
        System.out.println(value);  
    }  
}  
原文地址:https://www.cnblogs.com/chenweichu/p/5586892.html