多例模式:
范例1:
class Color {
private String title;
private static final Color RED = new Color("红色");
private static final Color BLUE = new Color("蓝色");
private static final Color GREEN = new Color("绿色");
private Color(String title) {
this.title = title;
}
public static Color getInstance(int ch) {
switch (ch) {
case 1:
return RED;
case 2:
return BLUE;
case 3:
return GREEN;
default:
return null;
}
}
@Override
public String toString() {
return this.title;
}
}
public class Demo {
public static void main(String[] args) {
Color c = Color.getInstance(1);
System.out.println(c);
}
}
=============分割线=============
范例2:定义枚举
enum Color {// 定义枚举
RED, BLUE, GREEN;// 表示此处为实例化对象
}
public class Demo {
public static void main(String[] args) {
Color c = Color.RED;
System.out.println(c);
}
}
=============分割线=============
范例3:定义枚举
enum Color {// 定义枚举
红色, 蓝色, 绿色;// 表示此处为实例化对象
}
public class Demo {
public static void main(String[] args) {
Color c = Color.蓝色;
System.out.println(c);
}
}
=============分割线=============
在Enum类里定义了两个方法:
·取得枚举索引:public final int ordinal();
·取得枚举的名字:public final String name();
范例3:
enum Color {// 定义枚举
红色, 蓝色, 绿色;// 表示此处为实例化对象
}
public class Demo {
public static void main(String[] args) {
for (Color c : Color.values()) {
System.out.println(c.ordinal() + "-" + c.name());
}
}
}