武学分为,熟悉与不熟悉,开始是照葫芦画瓢,目前我是这个等级,待我神功大成,继续跳下一个坑。。。哈哈

 

单利模式,

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();
}
}
}

 

posted on 2019-06-26 15:33  沐雨清晨  阅读(131)  评论(0)    收藏  举报