小哈兒的 學習日記

          像瘋子一樣去戰斗!
          posts - 13, comments - 0, trackbacks - 0, articles - 0

          設計模式之單例(Singleton) 筆記

          Posted on 2007-04-18 10:17 dayue 閱讀(255) 評論(0)  編輯  收藏 所屬分類: 面向對象與設計模式
                 單例模式是最簡單的一種設計模式,它是創造型的。一個單例類僅允許他的一個實例被初始化。它檢查一個實例是否已經被創建,如果是則返回這個實例。下面是一個單例類的基本結構:
           1package dp.singleton;
           2
           3public class Singleton {
           4    private static Singleton singleton;
           5    private Singleton(){
           6        
           7    }

           8    
           9    public static Singleton getInstance(){
          10        if(singleton==null){
          11            singleton=new Singleton();
          12        }

          13        return singleton;
          14    }

          15 
          16}

          17
          在這個類中,有一個private static 的域,構造函數被設為私有的,這樣調用它的類就不能使用構造器來創建它的一個實例。從一個單例類中取得一個實例的唯一辦法是通過public static getInstance()方法。通過以下方法:
          Singleton instance=Singleton.getInstance();
          這個 getInstance()通過測試實例與是否為空來檢查這個類的唯一實例是否被創建,如果是空的,則創建一個實例,如果非空,則返回這個已經存在的實例,一旦一個實例被創建了,那么 getInstance()這個方法就返回這個實例。

          另一種稍微有些不同的實現單例類的方法是將域聲明改為
          private static final Singleton singleton=new Singleton();
          這種方法總是創建一個實例。
          主站蜘蛛池模板: 嘉祥县| 汕尾市| 手游| 遂平县| 即墨市| 北京市| 遂昌县| 西青区| 吉首市| 涪陵区| 阜宁县| 大余县| 宁阳县| 白城市| 屏山县| 凭祥市| 肇庆市| 通许县| 汝州市| 航空| 手机| 西和县| 江陵县| 台东县| 大英县| 崇义县| 祁连县| 昌乐县| 亚东县| 安徽省| 博乐市| 瑞金市| 遂宁市| 扎鲁特旗| 岫岩| 南漳县| 抚州市| 荥经县| 岳池县| 丹巴县| 通江县|