1. 類的復用有兩種方法:組合(composition)和繼承
          組合技術通常用于想在新類中使用現有類的功能而非它的接口這種情形,一般在新類中嵌入一個現有類的private對象。但有時,允許類的用戶訪問新類中的組合部分是極具意義的。如果成員對象自身都隱藏了具體實現,那么將它聲明為public也是安全的。
          2. 為了繼承,一般的規則是將所有的數據成員都指定為private,將所有的方法指定為protected/public。
          3. 編譯器僅會在子類的無參構造器中自動調用父類的無參構造器,如果父類沒有無參構造器,或者要在子類的含參構造器中調用父類的構造器,就必須用關鍵字super顯式地調用父類構造器。
          4. dispose()方法可以將未存于內存之中的東西恢復到對象存在之前的狀態。注意清理的順序與生成的順序相反,先執行類的所有特定的清理動作,然后調用基類的清理方法。
          最好除了內存以外,不要以來垃圾回收器去做任何事。如果需要進行清理,最好是編寫自己的清理方法,但不要依賴finalize()
          5. 做了個實驗,得出父類的private方法會因為子類的同名方法而隱藏,但仍然存在。
          class Father {
          private void f1() {
          System.out.println("Father.f1() is invoked");
          }
          public void f2() {
          f1();
          System.out.println("Father.f2() is invoked");
          }
          }
          class Child extends Father {
          public void f1() {
          System.out.println("Child.f1() is invoked");
          }
          }
          public class TestHiding {
          public static void main(String[] args) {
          Child c = new Child();
          c.f1();
          c.f2();
          }
          }
          6. 對于基本類型,final使數值恒定不變;對于對象引用,final使引用恒定不變,但對象本身是可以被修改的。
          7. 空白final,字段可以被聲明為final而不給定初值,但是必須在每個構造器中對final進行賦值。
          8. final 參數
          void f(final int i) 這樣就不能在f程序塊中修改i的值了
          9. final 方法
          使用final方法的原因有兩個:一是把方法鎖定,以防被繼承類修改;二是效率,將一個方法指明為final,就是同意編輯器將針對該方法的所有調用轉為內嵌調用。
          類中所有的private方法都隱式地指定為是final的,因此對private方法添加final修飾詞沒有什么意義。
          10. final 類
          由于無法被繼承,final類中的所有方法都被隱式地定為final,因為無法覆蓋它們。

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

          2.16 Java notes - Reusing Classes

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


          網站導航:
           
          主站蜘蛛池模板: 亚东县| 思茅市| 新兴县| 汉沽区| 桦南县| 金乡县| 东平县| 深圳市| 茌平县| 西林县| 日土县| 贵州省| 衡水市| 麻阳| 临西县| 睢宁县| 佛学| 深州市| 上蔡县| 长岛县| 抚顺县| 神池县| 白河县| 万山特区| 株洲市| 都江堰市| 华安县| 任丘市| 平和县| 天柱县| 富锦市| 胶南市| 洛南县| 手游| 南通市| 莱阳市| 汉源县| 彰化市| 鄂托克旗| 霍山县| 方正县|