Jim’s blog

June 2, 2005

《Thinking In Java》筆記 - Chapter (5)

【11:03 pm By Jim】

* 讓變動的事物與不變的事物彼此隔離,是OOD的首要考慮因素。

  • package:library unit

  • (1)package name 採用反相 internet 域名,以確保其唯一性,並且規定皆爲小寫(Java2 開始規定);

    (2)import 的兩個 library 如含有同名的 class 則仍會發生衝突,可通過在使用時通過指定具體的 package.class 名來解決,如:
    java.util.Random random = new Random();

  • Access Specifiers

  • (1)public:所定義的成員可爲所用人使用;

    (2)private:除其所在的 class,沒有任何人(包括 package 成員)可以訪問;

    (3)protected:允許 class 自身、subclasses 以及 package 成員訪問;

    (4)friendly(隱式):不加任何 Access Specifiers 的默認權限,類似於 protected,唯一的區別是不能被繼承使用;

    (5)default package:假設成員皆爲 friendly(或是更高級別的權限),那麽同一目錄下的所有 class 即使不加任何 package、import 的聲明也可以相互的調用;這是因爲 Java 會將這些 class 視爲隸屬於該目錄的 default package,也就是說,會爲它們加上當前的目錄做爲 default package。

  • Interface 與 Implementation

  • (1)訪問權限
    ① 建立界限,保護(密)代碼;

    ② 使得接口和實現分離、獨立。

    (2)class 的訪問權限
    ① 每個編譯單元(即文件)都僅能有一個 public class;

    ② public class 的名稱(包括大小寫)必須與其編譯單元名稱完全相同;

    ③ 編譯單元內可以不含有任何的 public class;

    ④ 除 inner class,class 不能聲明爲 private 或 protected;

    ⑤ 使用 private class:
    A. 可在 private class 內增加起接口作用的 static 成員,通過 static 成員來使用 private 成員;

    B. 使用 Singleton。

    學會

    【7:34 pm By Jim】

    聽到一首舊歌,許慧欣的《學會》,有感覺,很喜歡。

    幾片落葉 孤單得很絕對
    九月的風 讓心很累

    我走過分手那天的街尾
    紀念我深深愛過的人是誰
    愛像指紋印在心裡 真的很美
    應該忘了你 可是我學不會

    別再問我那一天才能學會
    我要的世界 你不能給
    有些愛情會給時間一些香味
    它遲了一點卻把我的心 灌醉

    誰看見我流過了幾次眼淚
    它滴在心裡 讓我學會
    每段故事都有屬於它的收尾
    它偶爾可以提醒我自己 不能退

    回憶讓季節拿走他的顏色
    走著走著 你就會忘記我


    誰看見我流過了幾次眼淚?


    This work is licensed under a Creative Commons License .
    Get free blog up and running in minutes with Blogsome | Theme designs available here