1. 類的訪問權限僅有兩個選擇:包訪問權限或者public。如果不希望其他任何人對該類擁有訪問權限,可以把所有的構造器都指定為private,從而組織任何人創建該類的對象,但是有一個例外,就是在該類的static成員內可以創建。如
          class Soup {
          private Soup() {}
          // (1) Allow creation via static method:
          public static Soup makeSoup() {
          return new Soup();
          }
          // (2) Create a static object and return a reference
          // upon request.(The "Singleton" pattern):
          private static Soup ps1 = new Soup();
          public static Soup access() {
          return ps1;
          }
          public void f() {}
          }

          如果把類構造器都指定為private,別人要使用這個類的話,上面的例子給出了兩種方法:
          1)創建一個static方法,它創建一個新的Soup對象并返回該對象的引用。如果想要在返回引用之前在Soup上做一些額外的工作,或者如果想要記錄到底創建了多少Soup對象(可能要限制其數量),這種做法將會是大有裨益的。
          2)用到了設計模式。這種特定的模式被稱為singleton,這是因為始終只能創建它的一個對象ps1。


          posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          2.16 Java notes - Hiding the Implementation

          Posted on 2007-04-22 20:24 ZelluX 閱讀(239) 評論(0)  編輯  收藏 所屬分類: OOP
          2007-02-16 17:59:42
          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 丹凤县| 吴忠市| 汝南县| 昆山市| 遵义县| 延安市| 穆棱市| 伊宁县| 右玉县| 福贡县| 凤城市| 栾川县| 犍为县| 永济市| 射阳县| 阳高县| 霍林郭勒市| 桐柏县| 丽江市| 伊川县| 汤原县| 洛浦县| 江口县| 来宾市| 赣州市| 吉木萨尔县| 武川县| 庆阳市| 叙永县| 如东县| 石屏县| 介休市| 改则县| 安阳市| 天祝| 张家口市| 佛山市| 四川省| 马公市| 密云县| 玉屏|