单例模式
单例模式(Singleton),保证一个类有一个实例,并提供一个访问它的全局访问点。
“通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身保存
它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。
class Singleton{
private static Singleton instance;
//构造方法让其private,这就堵死了外界利用new创建此类实例的可能
private Singleton(){
}
//此方法是获得本类实例实例的唯一全局访问点
public static Singleton getInstance(){
//若实例不存在,则new一个新的实例,否则返回已有的实例
if(instance == null){
instance = new Singleton();
}
return instance;
}
}
public class SingletonTest {
public static void main(String[] args) {
Singleton instance = Singleton.getInstance();
Singleton instance2 = Singleton.getInstance();
//比较两侧实例化后对象的结果是实例相同
System.out.println(instance.equals(instance2));//true
}
}