枚举
能用就用,不能用就不用
范例表示颜色多例模式:
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抽象类