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 閱讀(238) 評論(0)  編輯  收藏 所屬分類: OOP
          2007-02-16 17:59:42
          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 扶余县| 蓝田县| 临江市| 文安县| 玉溪市| 芷江| 泰兴市| 揭东县| 临沧市| 青神县| 济宁市| 宜州市| 莱阳市| 阿拉善盟| 定兴县| 东兰县| 探索| 永福县| 嵊州市| 龙门县| 凉山| 新乡市| 东莞市| 勃利县| 昭平县| 泾源县| 达拉特旗| 颍上县| 吴川市| 五莲县| 佛冈县| 普兰县| 旬阳县| 靖远县| 兰坪| 绵竹市| 南漳县| 鄂尔多斯市| 成武县| 车致| 石棉县|