java新特性-枚举

来源:互联网 发布:php商城系统 开源 编辑:程序博客网 时间:2024/05/24 02:03

定义

将一组有限集合创建为一种新的类型,集合里面的值可以作为程序组件使用;

简单枚举

package enumTest;public enum Color1 {    RED, GREEN, BLUE;//每一个枚举都是一个该类的实例}
Color1 color1 = Color1.RED;Color1 color2 = Color1.RED;System.out.println(color1 == color2);for(Color1 color : Color1.values()){    System.out.println(color);}

结果

trueREDGREENBLUE

有构造方法的枚举

public enum Color2 {    RED("红色"), GREEN("绿色"), BLUE("蓝色");//必须在第一行,否则报错    private String desc;    Color2(String desc) {//要么没有权限访问修饰符,要么为private        this.desc = desc;    }}

有自定义方法的枚举

package enumTest;public enum Color3 {    RED("红色"), GREEN("绿色"), BLUE("蓝色");    private String desc;    Color3(String desc) {        this.desc = desc;    }    public String getDesc() {        return desc;    }    public void setDesc(String desc) {        this.desc = desc;    }    public String toString() {        return this.desc;    }}

有抽象方法的枚举

package enumTest;public enum Color4 {    RED() {        @Override        public void desc() {            System.out.println("红色");        }    },    GREEN() {        @Override        public void desc() {            System.out.println("绿色");        }    },    BLUE() {        @Override        public void desc() {            System.out.println("蓝色");        }    };    public abstract void desc();}