java基础——单例设计模式

设计模式:解决某一类问题的一种思想,是一种行之有效的解决方式 一共有23中思想模式;

      单例设计模式:

           解决的问题:保证一个类的对象在内存中的唯一性

           应用的场景:多个程序都在操作同一个配置文件时,在程序A操作后,程序B要知道并继续基于A操作后的结果进行操作,前 提,数据都存储在配置文件的对象中,要求程序A和程 序B操作的配置文件对象是同一个

           怎么实现呢? 怎么可以保证这个类只能产生一个对象呢?

      思路:

1、问题是其他程序都可以通过new创建该类的对象,无法控制数量,所以,不让其他程序new对象,

2、那第一步的问题也产生了,那其他程序不就没有对象了吗?干脆在本类中自己new一个本类对象,这样的好处,不让别的程序new,自己new,可以实现数量控制

3、 对外提供其他程序获取该对象的方式

      步骤:

1.   不让其他程序new该类对象,咋办?可以把类中的构造函数私有化,

2.   在本类中new一个对象

3.   定义一个方法返回该对象

      代码体现:

      饿汉式:class single{

           privatestatic  Single s = new Single();

           Private    single(){}

           publicstatic Single getInstance(){// 加上静态后可以直接被类名调用

           returns;

           }

 

class singleDemo{

      publicstatic void main(String[] args){

           Singles1 = Single.getInstance();

           Singles2 = Single.getInstance();

           Sop(s1==s2); // 打印结果为true;

           }

      }

懒汉式:class single{

           privatestatic  Single s =null;

           private    single(){}

           publicstatic Single getInstance(){// 加上静态后可以直接被类名调用

           if(s=null){

                 s=new  Single();

           }       

           returns;

           }   

class singleDemo{

      publicstatic void main(String[] args){

           Singles1 = Single.getInstance();

           Singles2 = Single.getInstance();

           Sop(s1==s2); // 打印结果为true;

           }

      }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值