枚举

枚举

用法1,常量

public enum Color {
    RED,GREEN,BLANK,YELLOW;
}

用法2,switch

Color[] values = Color.values();
Random random=new Random();
int random_Number = random.nextInt(values.length);
Color value = values[random_Number];
switch (value){
    case RED:
        System.out.println("RED");
        break;
    case GREEN:
        System.out.println("GREEN");
        break;
    case BLANK:
        System.out.println("BLANK");
        break;
    case YELLOW:
        System.out.println("YELLOW");
        break;
    default:
        break;
}

用法3,添加新方法

如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。

   RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);

    private String name;
    private int index;
    private Color(String name,int index){
        this.index=index;
        this.name=name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setIndex(int index) {
        this.index = index;
    }

    public String getName() {
        return name;
    }

    public int getIndex() {
        return index;
    }

    @Override  
    public String toString() {  
        return this.index+"_"+this.name;  
    }  

	//接口方法
    @Override  
    public String getInfo() {  
        return this.name;  
    }  
    //接口方法  
    @Override  
    public void print() {  
        System.out.println(this.index+":"+this.name);  
    }  

    public static String secect(int index){
        Color[] list = Color.values();
        for (Color color : list) {
            if (color.getIndex()==index){
                return color.getName();
            }
        }
        return null;
    }

用法4,接口组织枚举

所有的枚举类都要继承java.lang.Enum类。由于java不支持多继承,所以枚举对象不能再继承其他类

public interface Food {
    void method();
}
public enum Color implements Food {
    RED,GREEN,YELLOW,BLANCK;

    @Override
    public void method() {
        System.out.println("宋祖儿:快来追我吧");
    }
}
   public static void main(String[] args) {
        Color red = Color.RED;
        red.method();
    }

你可能感兴趣的:(Java)