javaSE(25)(枚举)

来源:互联网 发布:mac怎么玩英雄杀 编辑:程序博客网 时间:2024/05/28 18:45
1.package us.google;/** * 使用普通类实现枚举 *  * */public abstract class Controller {    private Controller(){}    public static final Controller ON = new Controller() {        public Controller downAction()        {            return OFF;        }        public String toString()        {            return "ON";        }    };    public static final Controller OFF = new Controller(){        public Controller downAction() {            return ON;        }        public String toString() {            return "OFF";        }    };    public abstract Controller downAction();}2.package us.google;/** * 枚举 * @author chongrubujing * */public enum EnumController {    ON,OFF;}3.package us.google;public enum EnumController2 {    ON {        @Override        public EnumController2 downAction() {            return OFF;        }    },OFF {        @Override        public EnumController2 downAction() {            return ON;        }    };    public abstract EnumController2 downAction();}4.package us.google;/** * 枚举实现接口 * @author chongrubujing * */public enum EnumColor implements Info {    RED{        @Override        public String getColor() {            return "红色";        }    },BLUE{        @Override        public String getColor() {            return "蓝色";        }    },GREEN{        @Override        public String getColor() {            return "绿色";        }    };}interface Info{    public String getColor();}5.package us.google;/** * 4个心动女生 * @author chongrubujing * */public enum EnumGirl {    Girl1("萌萌"),Girl2("梦梦"),Girl3("空空"),Girl4("全彩");    private String name;    //构造方法必须私有    private EnumGirl()    {        System.out.println("无参构造方法");    }    private EnumGirl(String name)    {        this.name = name();        System.out.println("带参构造方法");    }}6.package us.google;public class EnumDmeo {    public static void main(String[] args) {        Controller on = Controller.ON;        System.out.println(on);        Controller off = on.downAction();        System.out.println(off);        System.out.println("---------------------");        EnumController ecON = EnumController.ON;        System.out.println(ecON);        System.out.println(ecON.name());        System.out.println(ecON.ordinal());        //遍历枚举        EnumController[] es = EnumController.values();        for (int i = 0; i < es.length; i++) {            System.out.println(es[i]);        }        EnumController ecOff =  EnumController.valueOf("OFF");        System.out.println(ecOff);        System.out.println("----------------------------");        EnumGirl eg1 = EnumGirl.Girl1;        System.out.println("----------------------");        System.out.println(EnumColor.RED.getColor());        System.out.println("--------------------");        System.out.println(EnumController2.ON.downAction());    }}7.package us.google;import java.util.EnumMap;import java.util.Set;public class EnumMapDemo {    public static void main(String[] args) {        EnumMap<EnumController, String> map = new EnumMap<EnumController, String>(EnumController.class);        map.put(EnumController.ON, "打开");        map.put(EnumController.OFF, "关闭");        Set<EnumController> keyset  = map.keySet();        for (EnumController e : keyset) {            System.out.println(e+"--"+map.get(e));        }    }}8.package us.google;import java.util.EnumSet;public class EnumSetDemo {    public static void main(String[] args) {        EnumSet<EnumController> set = EnumSet.allOf(EnumController.class);        for (EnumController e : set) {            System.out.println(e);        }    }}
0 0
原创粉丝点击