设计模式(单例模式详解)Java实现

单例模式详解

请看下面两个class:
在这里插入图片描述
在这里插入图片描述
Soup1类和Soup2类展示了如何通过将所有的构造器指定为private来阻止直接创建某个类的实例
请一定要牢记,如果没有明确地至少创建一个构造器的话,就会帮你创建一个默认构造器(不带有任何参数的构造器)。如果我们自己编写了默认的构造器,那么就不会自动创建它了。如果把该构造器指定为private,那么就谁也无法创建该类的对象了
但是现在别人该怎样使用这个类呢?上面的例子就给出了两种选择:在Soup1中,创建一个static方法,它创建一个新的Soup1对象并返回一个对它的引用。如果想要在返回引用之前在Soup1上做一些额外的工作,或是如果想要记录到底创建了多少个Soup1对象(可能要限制其数量),这种做法将会是大有裨益的。
Soup2用到了所谓的设计模式。这种特定的模式被称为singleton(单例),这是因为你始终只能创建它的一个对象。Soup2类的对象是作为Soup2的一个static private成员而创建的,所以有且仅有一个,而且除非是通过public方法access0,否则是无法访问到它的。
如果该类的某个static成员是public的话,则客户端程序员仍旧可以调用该static成员,尽管他们并不能生成该类的对象

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值