通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。而且单例模式可以严格的控制客户怎样访问单例类以及何时访问它。
例:
package com.designpattern;
class Singleton{
private static Singleton instance = new Singleton();
private Singleton(){
}
public static void setInstance(Singleton instance) {
Singleton.instance = instance;
}
public static Singleton getInstance() {
return instance;
}
}
public class Singletondp {
public static void main(String[] args){
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
if(s1==s2){
System.out.println("两个对象是相同实例!");
}
}
}