枚举用法

1带构造函数的,字段,方法的枚举

package cn.example;

import org.junit.Test;

public class Demo {
    @Test
    public void test(){
        ptint(Grade.B);
    }

    private void ptint(Grade b) {
        // TODO Auto-generated method stub
        System.out.println(b.getvalue());
    }
}

enum Grade{
    A("100-80"),B("79-60"),C("59-0");
    private String value;
    private Grade(String value){
        this.value=value;
    }
    public String getvalue(){
        return value;
        
    }

输出:79-60

2.带抽象方法的枚举

enum Grade{
    A("100-80"){public String getcnvalue(){return "优秀";}}
    ,B("79-60"){public String getcnvalue(){return "良好";}},
    C("59-0"){public String getcnvalue(){return "不合格";}};
    private String value;
    private Grade(String value){
        this.value=value;
    }
    public String getvalue(){
        return value;
        
    }
    public abstract String getcnvalue();
    
}

3

枚举类具有如下特性: 
1.枚举类也是一种特殊形式的Java类。
2.枚举类中声明的每一个枚举值代表枚举类的一个实例对象。A,B,C,D
3.与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的(private这点不难理解)。为什么?防止其他类初始化对象 4.枚举类也可以实现接口、或继承抽象类。
5.JDK5中扩展了swith语句,它除了可以接收int, byte, char, short外,还可以接收一个枚举类型。 6.若枚举类只有一个枚举值,则可以当作单态设计模式使用。
7.Java中声明的枚举类,均是java.lang.Enum类的孩子,它继承了Enum类的所有方法。

原文地址:https://www.cnblogs.com/xurui1995/p/5245885.html