1700457028
1700457029
static{
1700457030
1700457031
for(int i=0;i<maxNumOfEmperor;i++){
1700457032
1700457033
emperorList.add(new Emperor(“皇”+(i+1)+“帝”));
1700457034
1700457035
}
1700457036
1700457037
}
1700457038
1700457039
private Emperor(){
1700457040
1700457041
//世俗和道德约束你,目的就是不产生第二个皇帝
1700457042
1700457043
}
1700457044
1700457045
//传入皇帝名称,建立一个皇帝对象
1700457046
1700457047
private Emperor(String name){
1700457048
1700457049
nameList.add(name);
1700457050
1700457051
}
1700457052
1700457053
//随机获得一个皇帝对象
1700457054
1700457055
public static Emperor getInstance(){
1700457056
1700457057
Random random=new Random();
1700457058
1700457059
//随机拉出一个皇帝,只要是个精神领袖就成
1700457060
1700457061
countNumOfEmperor=random.nextInt(maxNumOfEmperor);
1700457062
1700457063
return emperorList.get(countNumOfEmperor);
1700457064
1700457065
}
1700457066
1700457067
//皇帝发话了
1700457068
1700457069
public static void say(){
1700457070
1700457071
System.out.println(nameList.get(countNumOfEmperor));
1700457072
1700457073
}
1700457074
1700457075
}
1700457076
1700457077
在Emperor中使用了两个ArrayList分别存储实例和实例变量。当然,如果考虑到线程安全问题可以使用Vector来代替。臣子参拜皇帝的过程如代码清单7-6所示。
[
上一页 ]
[ :1.700457028e+09 ]
[
下一页 ]