能用就用,不能用就不用java
範例表示顏色多例模式:ide
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); } }
枚舉各個語言都支持this
除了2005年以前的java 以上是2005年以後的枚舉;spa
2005年以後設置了enum關鍵字code
enum Color{ //定義好了枚舉類 RED,GREEN,BLUE ; } public class Test { public static void main(String[] args) { Color c = Color.RED; System.out.println(c); } }
如下是java枚舉之最blog
Enum類繼承
構造方法:索引
構造方法私有化(protected)get
兩個方法:it
取得枚舉的索引
取得枚舉的名字
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抽象類