枚举

能用就用,不能用就不用

 

范例表示颜色多例模式:

package cn;
class Color {
    private String title ;
    private static final Color RED = new Color("red") ;
    private static final Color GREEN = new Color("GREEN") ;
    private static final Color BLUE = new Color("BLUE") ;
    public static Color getInstance(int ch){
        switch(ch){
        case 1 :
            return RED ;
        case 2 :
            return GREEN ;
        case 3 :
            return BLUE ;
            default :
                return null ;
        }
    }
    private Color(String title){
        this.title = title ;
    }
    @Override
    public String toString() {
        return "Color [title=" + title + "]";
    }
    
}
public class Test {

    public static void main(String[] args) {
        Color c = Color.getInstance( 1) ;
        System.out.println(c);
    }
    
}

枚举各个语言都支持

除了2005年之前的java 以上是2005年之后的枚举;

2005年之后设置了enum关键字

enum Color{        //定义好了枚举类
    RED,GREEN,BLUE ;
}
public class Test {

    public static void main(String[] args) {
        Color c = Color.RED;
        System.out.println(c);
    }
    
}

以下是java枚举之最

Enum类

构造方法:

构造方法私有化(protected)

两个方法:

取得枚举的索引

取得枚举的名字

 

enum Color{        //定义好了枚举类
    RED,GREEN,BLUE ;
}
public class Test {

    public static void main(String[] args) {
        for(Color c : Color.values()){
            System.out.println(c.ordinal()  + " "  + c) ;
        }
    }    
}

使用 enum定义的枚举就相当于一个类继承了Enum抽象类

 

posted @ 2016-01-30 10:14  式微胡不归  阅读(169)  评论(0编辑  收藏  举报