多例设计模式
应用该模式的类有固定个数对象产生
实现步骤
// 1.将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。 // 2.创建一个单列集合,用来存储该类的对象 // 3.在该类内部产生固定数量的对象--->只创建一次 // 创建该类的对象 // 把对象添加到list集合中 // 4.提供一个静态方法来随机获取一个该类的对象 // 1.创建Random对象 // 2.产生一个随机数 // 3.根据随机数获取对象 // 4.返回对象
package com.jcli.demo02_多例;
import java.util.ArrayList;
import java.util.Random;
// 多例设计模式: 应用该模式的类有固定个数对象产生
public class Person02 {
// 定义该类被创建的总数量
private static final int maxCount = 3;
// 1.将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。
private Person02() {
}
// 2.创建一个单列集合,用来存储该类的对象
private static ArrayList<Person02> list = new ArrayList<>();
// 3.在该类内部产生固定数量的对象--->只创建一次
static {
for (int i = 0; i < maxCount; i++) {
// 创建该类的对象
Person02 p = new Person02();
// 把对象添加到list集合中
list.add(p);
}
}
// 4.提供一个静态方法来随机获取一个该类的对象
public static Person02 getInstance() {
// 1.创建Random对象
Random r = new Random();
// 2.产生一个随机数
int i = r.nextInt(list.size());
// 3.根据随机数获取对象
Person02 p = list.get(i);
// 4.返回对象
return p;
}
}
package com.jcli.demo02_多例;
public class Test03 {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(Person02.getInstance());
}
}
}
使用场景:
~~~~想
优点:
1.提高对象的复用性,降低内存消耗,提高应用的性能。
版权声明:本文为weixin_48131807原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。