1. 程式人生 > 實用技巧 >設計模式之單例

設計模式之單例

描述

一個類只能建立一個例項,並提供一個訪問它的全域性訪問點。接下來將介紹兩種寫法。

餓漢模式

public class Singlton{
      public static void main(String[] a){
            Singlton01 s1=new Singlton01();//建立例項物件 
      }
}
class Singlton01{
      //構造方法私有化
      private Singlton01(){}
      //定義一個靜態的成員變數,來接受唯一建立的物件
      private static Singlton01 s=new Singlton01();
      //定義一個靜態方法用於把物件返回給呼叫者
      public static Singlton01 get(){
            return s;
      }
}

懶漢模式

public class Singlton{
      public static void main(String[] a){
            Singlton02 s2=new Singlton02();//建立例項物件 
      }
}
class Singlton02{
      //構造方法私有化
      private Singlton02(){}
      //定義一個靜態的成員變數,來接受唯一建立的物件
      private static Singlton02 s;
      //定義一個靜態方法用於把物件返回給呼叫者
      public static Singlton02 get(){
            if(s==null){s=new Singlton02();}
            return s;
      }
}