Java-枚举

enum是JDK1.5 之后定义的新关键字,用于定义枚举类型。每一个使用enum定义的类都是一个类继承了Enum父类。

package com.joeaaa.demo11;

/*
* 多例程序,不用枚举
*/
class Color{
    private static final Color RED = new Color("红色");
    private static final Color GREEN = new Color("绿色");
    private static final Color BLUE = new Color("蓝色");
    private String title;
    private Color (String title){
        this.title = title;
    }
    public String toString(){
        return this.title;
    }
    public static Color getInstance(int ch){
        switch (ch){
            case 0:
                return RED;
            case 1:
                return GREEN;
            case 2:
                return BLUE;
            default:
                return null;
        }
    }
}

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

使用枚举会更加简单直白。在Enum类中定义了两个方法

  1. 取得枚举序号:public final int ordinal();
  2. 取得枚举名称:public final String name();
package com.joeaaa.demo11;

/*
* 多例设计,使用枚举
*/
enum Colors{
    RED,GREEN,BLUE;
}

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