Java-单例设计模式(基础)

设计模式

对问题的行之有效的解决方法,其实它是一种思想。不要固化。

1,单例设计模式。
解决的问题:
保证一个类在内存中的对象唯一性。

必须对于多个程序使用同一配置信息对象时,就该保证对象唯一性。
如何保证对象唯一性?
1),不可以让其他程序用new创建对象。
2),在该类中,创建一个本类实例。
3),对外提供方法让其他程序获取该对象。
步骤:
1),私有化该类构造函数。
2),通过new在本类中创建一个本类对象。
3),定义一个共有方法,将创建的对象返回。

代码例子:

class Single
{
    private static Single s = new Single();

    private Single (){}

    public static Single get()
    {
        return s;
    }
}

public class mfcheer 
{   
    public static void main(String[] args) 
    {
        Single s1 = Single.get();//可控
        Single s2 = Single.get();
        System.out.println(s1==s2);//返回true
        // Single sss = Single.s; 不可控
    }
}
//类加载时,无对象,get方法调用时才创建对象
//延迟加载形式
//懒汉式 : 用到时才创建对象
//存在的问题:多线程时可能存在安全隐患

class Single
{
    private static Single s = null;

    private Single (){}

    public static Single get()
    {
        if (s == null)
            s = new Single();
        return s;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值