1.Singleton类
public class Singleton {
//Singleton类只会产生一个实例,Singleton类把singleton定义为static字段(类变量),再以Singleton类的对象实例进行初始化。
//这个初始化的操作仅在加载Singleton类时进行一次。
private static Singleton singleton=new Singleton();
//Singleton类的构造函数是private的,主要是为了禁止从非Singleton类调用构造函数。
//表达式new Singleton()不在此类之内,编译时仍然会出现错误。
private Singleton(){
System.out.println("已经产生对象实例");
}
//想要取得Singleton类的惟一对象实例的方法就是getInstance().
public static Singleton getInstance(){
return singleton;
}
}
2.利用Singleton类的类
public class Main {
public static void main(String[] args) {
System.out.println("Start.");
Singleton obj1=Singleton.getInstance();
Singleton obj2=Singleton.getInstance();
if(obj1==obj2){
System.out.println("obj1和obj2是同一对象实例 。");
}else{
System.out.println("obj1跟obj2并非同一对象实例。");
}
System.out.println("End.");
}
}