java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。

11.package us.google;

/**
 * 使用普通类实现<a href="http://www.cfei.net/archives/tag/%e6%9e%9a%e4%b8%be" title="浏览关于“枚举”的文章" target="_blank" class="tag_link">枚举</a>
 * 
 *
 */
public abstract class Controller {
    private Controller(){}
    public static final Controller ON = new Controller() {
        public Controller downAction()
        {
            return OFF;
        }
        public String toString()
        {
            return &quot;ON&quot;;
        }
    };
    public static final Controller OFF = new Controller(){

        public Controller downAction() {
            return ON;
        }
        public String toString() {
            return &quot;OFF&quot;;
        }

    };
    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 &quot;红色&quot;;
        }
    },BLUE{
        @Override
        public String getColor() {
            return &quot;蓝色&quot;;
        }
    },GREEN{
        @Override
        public String getColor() {
            return &quot;绿色&quot;;
        }
    };

}

interface Info{
    public String getColor();

}
5.package us.google;
/**
 * 4个心动女生
 * @author chongrubujing
 *
 */
public enum EnumGirl {
    Girl1(&quot;萌萌&quot;),Girl2(&quot;梦梦&quot;),Girl3(&quot;空空&quot;),Girl4(&quot;全彩&quot;);
    private String name;
    //构造方法必须私有
    private EnumGirl()
    {
        System.out.println(&quot;无参构造方法&quot;);
    }
    private EnumGirl(String name)
    {
        this.name = name();
        System.out.println(&quot;带参构造方法&quot;);
    }
}
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(&quot;---------------------&quot;);
        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 &lt; es.length; i++) {
            System.out.println(es[i]);
        }
        EnumController ecOff =  EnumController.valueOf(&quot;OFF&quot;);
        System.out.println(ecOff);

        System.out.println(&quot;----------------------------&quot;);
        EnumGirl eg1 = EnumGirl.Girl1;
        System.out.println(&quot;----------------------&quot;);
        System.out.println(EnumColor.RED.getColor());
        System.out.println(&quot;--------------------&quot;);
        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&lt;EnumController, String&gt; map = new EnumMap&lt;EnumController, String&gt;(EnumController.class);
        map.put(EnumController.ON, &quot;打开&quot;);
        map.put(EnumController.OFF, &quot;关闭&quot;);
        Set&lt;EnumController&gt; keyset  = map.keySet();
        for (EnumController e : keyset) {
            System.out.println(e+&quot;--&quot;+map.get(e));
        }

    }

}
8.package us.google;

import java.util.EnumSet;

public class EnumSetDemo {
    public static void main(String[] args) {
        EnumSet&lt;EnumController&gt; set = EnumSet.allOf(EnumController.class);
        for (EnumController e : set) {
            System.out.println(e);
        }
    }
}

枚举

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。