十一、Java单例设计模式

1.单例设计模式

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

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

要求程序A和程序B操作的配置文件对象是同一个。

2.怎么实现单例模式?

a.不让其他程序new。
b.干脆在本类中自己new一个对象,这样可以不让其他程序new,自己new,可以实现数量控制。
c.对外提供让球他程序获取该对象的方式。

解决:
类中的构造函数私有化。
在类中new一个对象
定义一个方法返回该对象。

3.代码实现:
A.饿汉式

class Single
{//先创建一个本类对象
 private static Single s=new Single( );
//构造函数私有化
private Single(){
......
}//只有类自己可以访问

//定义一个方法返回该对象,让其他程序可以控制。
public static final Single getInstance(){
return s;
//之所以定义方法访问就是为了可控
}
}

Single s1=Single.getInstance();
Single s2=Single.getInstance();
s1==s2;//true

B.懒汉式:延迟加载方法

class Single
{
 private static Single s=null;
 private Single(){};
 public static Single getInstance(){
    if(s==null)
       s=new Single();
       return s;
 }
}

你可能感兴趣的:(十一、Java单例设计模式)