单例设计模式(饿汉式与懒汉式)

创建方法:

  1.构造方法私有化;

  2.声明一个本类对象;

  2.给外部提供一个静态方法获取对象实例。

基本单例模式分类:

  懒汉式:在第一次调用getInstance方法时,对象被创建,直到程序结束后释放。

  饿汉式:在类被加载后,对象被创建,直到程序结束后释放。

两者比较:

  饿汉式:占用内存时间长,提高效率。

  懒汉式:占用内存时间短,效率低下。

在项目中为什么要使用单例模式,有什么作用?

  1.在设计一些工具类的时候(通常工具类只有功能方法,没有属性)。

  2.工具类可能会被频繁调用。

创建饿汉式代码:

public class Singleton01 {
    //构造方法私有化
    private Singleton01(){}
    //声明一个实例化的本类对象
    private static Singleton01 s1 = new Singleton01();
    //给外部提供一个静态方法获取对象实例
    public static Singleton01 getInstance(){
        return s1;
    }
    public void print(){
        System.out.println("测试方法");
    }
}

创建懒汉式代码:

public class Singleton02 {
    //构造方法私有化
    private Singleton02(){}
    //声明一个未实例化的本类对象
    private static Singleton02 s2;
    //给外部提供一个静态方法获取对象实例
    private static Singleton02 getInstance(){
        if (s2 == null){
            s2 = new Singleton02();
        }
        return s2;
    }
    public void print(){
        System.out.println("测试方法");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

T何必当初

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值