欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java设计模式之单例模式

程序员文章站 2022-05-04 17:25:08
...

3 月,跳不动了?>>> java设计模式之单例模式

单例模式:单个实例

解决问题:就是可以保证一个类在内存中的对象唯一性。

必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性。

 

java设计模式之单例模式

保证A、B共用这个ConfigFile对象

如何保证对象的唯一性?

  1. 不允许其他程序用new创建该类的对象。
  2. 在该类中创建一个本类实例。
  3. 对外提供一个方法让其他程序可以获取该对象。

步骤:

  1.  私有化该类的构造函数。
  2.  通过new在本类中创建一个本类对象。
  3.   定义一个公有的方法,将创建的对象返回。

 

内存图解

代码:

//饿汉式
//开发用的比较多
class Single{//类一加载,对象就已经存在了
	//只能自己new自己
	private static Single single = new Single();
	//不能让别人new自己
	private Single() {
		
	}
	//提供一个对外方法可以访问自己
	public static Single getInstance() {
		return single;
	}
}
public class SingleDemo {
	public static void main(String[] args) {
		Single single1 = Single.getInstance();
		Single single2 = Single.getInstance();
		System.out.println(single1==single2);
	}
}
//输出结果
true

图解

java设计模式之单例模式