单例模式保证一个类仅有一个实例,同时这个类还必须提供一个访问该类的全局访问点。
单例类:Singleton
package com.model;
public class Singleton {
private static Singleton singleton;
private Singleton () {}
public static Singleton getSingleton(){
if(singleton == null){
synchronized (Singleton.class) {
if(singleton == null){
singleton = new Singleton();
}
}
}
return singleton;
}
}
客户端测试类:SingletonTest
package com.model;
public class SingletonTest {
public static void main(String[] args) {
Singleton singletonOne = Singleton.getSingleton();
Singleton singletonTwo = Singleton.getSingleton();
if(singletonOne.equals(singletonTwo))
{
System.out.println("singletonOne 和 singletonTwo 代表的是同一个实例");
}else
{
System.out.println("singletonOne 和 singletonTwo 代表的是不同实例");
}
}
}
结果: