武学分为,熟悉与不熟悉,开始是照葫芦画瓢,目前我是这个等级,待我神功大成,继续跳下一个坑。。。哈哈
单利模式,
public class Singleton {
public static Singleton singleton=null;
// 限制生产对象
private Singleton(){
}
// 通过该方法获得实列对象
public static Singleton getSingleton(){
if (singleton==null) {
// 创建一个新的实体的对象
singleton=new Singleton();
}
//返回一个对象
return singleton;
}
}
//单利模式扩展
public class Emperor {
// 固定最多产生实列的数量
private static int maxNumberEmperor = 2;
// 每一个单例都有名称,使用一个arrayLIST数组来容纳,每一个对像都是私有的属性
private static ArrayList<String> nameList = new ArrayList<String>();
// 定义一个列表可以容纳所有的单例的实例
private static ArrayList<Emperor> emperorList = new ArrayList<Emperor>();
// 当前皇帝的序号
private static int countNumberOfEmperor = 0;
// 产生所有的对象
static{
for (int i = 0; i < maxNumberEmperor; i++) {
emperorList.add(new Emperor("第"+(i+1)+"单例"));
}
}
private Emperor(){
}
// 传入单例名称 建立一个皇帝对象
public Emperor(String name) {
nameList.add(name);
}
// 随机获得一个单例对象
public static Emperor getInstance(){
Random random =new Random();
countNumberOfEmperor = random.nextInt(maxNumberEmperor);
return emperorList.get(countNumberOfEmperor);
}
public static void say(){
System.out.println(nameList.get(countNumberOfEmperor));
}
public static void main(String[] args) {
int ministerNum = 5;
for (int i = 0; i < ministerNum; i++) {
Emperor emperor= Emperor.getInstance();
System.out.println("第"+(i+1)+"某个大臣参拜的是");
emperor.say();
}
}
}
浙公网安备 33010602011771号