单例模式 (singleton)

本文深入解析单例模式,包括其在内存中仅有一份实例的特性,以及饿汉模式和懒汉模式的区别。通过具体代码示例,展示了如何设计Bank类以确保其对象只能创建一次。

单例模式 (singleton)

内存中仅有一份实例对象

单例模式分为两种:

1.饿汉模式:在类加载的时候,对象就创建好了

2.懒汉模式:外部什么时候需要使用对象的时候,什么时候才实例化对象,尤其是该对象是重量级对象(实例化需要很多的资源【网络资源,内存,时间…】)

/**
 * 设计Bank类,使得Bank对象只能创建一次
 *
 * scope = "singleton"
 */
public class Bank {//饿汉模式
    private static Bank bank = new Bank();//实例化对象私有化,确保只有本类能访问
    
    private Bank(){}//私有化构造函数
    
    public static Bank getBankInstance(){//Bank类调用方法实例化对象
        return bank;
    }
}

public class Bank2 {//懒汉模式
    private static Bank2 bank2 = null;

    private Bank2() {}//私有化构造函数

    public static Bank2 getBank2Instance() {
        if (bank2 == null)
            bank2 = new Bank2();
        return bank2;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值