关于单例模式

        关于单利模式的概念,就是说保证一个类有且仅有一个实例,并提供一个访问它的全局访问点。

     要想一个类只有一个实例,那就不能在类的外部随意去实例化该类,那么就只能将该类的构造函数定义为私有类型。但还是必须要有创建对象的机会,那就在该类内部去构造一个对象,并将对象返回出来。这里还有一点需要注意,返回引用时不能无限制的一直返回,如果一直返回,那么私有的构造函数就没有意义了。所以需要为返回的对象引用做一次判断。

单例模式的java实现代码:

  class Singleton {
    
    //私有静态的引用,外部不可访问
    private static Singleton singleton;
    //私有的无惨构造,外部无法直接创建对象
    private Singleton(){
        
    }
    //类内部构建一个可以获得实例的方法(获得实例getInstance)
    //此方法定义为静态的,可以在外部直接用类名调用
    public static Singleton getInstance(){
        
        //先判断引用是否为空,若不为空,则不能重复赋值
        //若引用为空值,则为其赋值为实例的引用
        if(singleton == null){
            singleton = new Singleton();
        }
        return singleton;
    }
  }



其中的判空操作是有必要的,如果不牵扯到线程的话都没有什么问题,一旦放到线程应用中,那么判空将会有效的保证线程安全。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值