Singleton

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.");
 }
}

原文地址:https://www.cnblogs.com/mingforyou/p/2389245.html