1. 類的復(fù)用有兩種方法:組合(composition)和繼承
          組合技術(shù)通常用于想在新類中使用現(xiàn)有類的功能而非它的接口這種情形,一般在新類中嵌入一個現(xiàn)有類的private對象。但有時,允許類的用戶訪問新類中的組合部分是極具意義的。如果成員對象自身都隱藏了具體實(shí)現(xiàn),那么將它聲明為public也是安全的。
          2. 為了繼承,一般的規(guī)則是將所有的數(shù)據(jù)成員都指定為private,將所有的方法指定為protected/public。
          3. 編譯器僅會在子類的無參構(gòu)造器中自動調(diào)用父類的無參構(gòu)造器,如果父類沒有無參構(gòu)造器,或者要在子類的含參構(gòu)造器中調(diào)用父類的構(gòu)造器,就必須用關(guān)鍵字super顯式地調(diào)用父類構(gòu)造器。
          4. dispose()方法可以將未存于內(nèi)存之中的東西恢復(fù)到對象存在之前的狀態(tài)。注意清理的順序與生成的順序相反,先執(zhí)行類的所有特定的清理動作,然后調(diào)用基類的清理方法。
          最好除了內(nèi)存以外,不要以來垃圾回收器去做任何事。如果需要進(jìn)行清理,最好是編寫自己的清理方法,但不要依賴finalize()
          5. 做了個實(shí)驗(yàn),得出父類的private方法會因?yàn)樽宇惖耐椒ǘ[藏,但仍然存在。
          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使數(shù)值恒定不變;對于對象引用,final使引用恒定不變,但對象本身是可以被修改的。
          7. 空白final,字段可以被聲明為final而不給定初值,但是必須在每個構(gòu)造器中對final進(jìn)行賦值。
          8. final 參數(shù)
          void f(final int i) 這樣就不能在f程序塊中修改i的值了
          9. final 方法
          使用final方法的原因有兩個:一是把方法鎖定,以防被繼承類修改;二是效率,將一個方法指明為final,就是同意編輯器將針對該方法的所有調(diào)用轉(zhuǎn)為內(nèi)嵌調(diào)用。
          類中所有的private方法都隱式地指定為是final的,因此對private方法添加final修飾詞沒有什么意義。
          10. final 類
          由于無法被繼承,final類中的所有方法都被隱式地定為final,因?yàn)闊o法覆蓋它們。

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

          2.16 Java notes - Reusing Classes

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 肇源县| 曲阜市| 连平县| 昆明市| 青浦区| 望谟县| 新乡市| 明溪县| 县级市| 娄底市| 达州市| 遂昌县| 高淳县| 杭锦旗| 三门县| 泰宁县| 诸暨市| 黔南| 萨迦县| 中江县| 宁德市| 花莲县| 康马县| 宿松县| 色达县| 通化县| 雷州市| 宁晋县| 泌阳县| 贡觉县| 阿尔山市| 大渡口区| 科技| 奈曼旗| 友谊县| 八宿县| 库车县| 台北县| 循化| 高青县| 九江市|