多例设计模式

应用该模式的类有固定个数对象产生

实现步骤

// 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 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_48131807/article/details/123740371