设计模式--单例模式(JAVA语言实现)

来源:互联网 发布:华为交换机端口模式 编辑:程序博客网 时间:2024/05/20 13:05
单例模式:
解决问题:
保证一个类的对象在内存中的唯一性;
应用场景:多个程序都在操作同一个配置文件时间,需要程序A操作后的结果程序B要知道并继续基于A操作后的结果进行操作
前提,数据都存储在配置文件对象中,要求程序A和程序B操作的配置文件对象是同一个。

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

思路:
1、问题是其他程序都可以通过new创建该类的对象,无法控制数量。
   所以,不让其他程序new不就可以了吗?
2、那第一步的问题产生了,那其他程序不就没有对象了吗?
干脆,在本类中自己new一个本类对象,这样的好处是,不让别的程序new,自己new
可以实现数量控制。
3、对外提供让其他程序获取该对象的方式。
步骤:
1、不让其他程序new该类对象,咋办?
可以将类中的构造函数私有化。
2、在本类中new一个对象。

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

代码实现:

public class Single {
// 创建一个本类对象
private static Single single = new Single();


// 构造函数私有化
private Single() {
}


public Single getInstance() {
return single;
}


}

原创粉丝点击