既然程序中可以存在单例设计,那么就可以存在多例设计。
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 name ;
public static Color getInstance(int ch){ // 将instance传递到外部去
if(ch==0){
return RED ;
} else if(ch==1){
return GREEN ;
} else if(ch==2){
return BLUE ;
} else {
return null ;
}
}
private Color(String name){
this.name = name ;
}
public void print(){
System.out.println("当前颜色:" + this.name) ;
}
};
public class Test{
public static void main(String args[]){
Color s1 = Color.getInstance(0) ;
Color s2 = Color.getInstance(1) ;
Color s3 = Color.getInstance(2) ;
s1.print() ;
s2.print() ;
s3.print() ;
}
};