Java中的構造器其工作方式和C++中的不一樣,不過,要記住,所有的Java對象都是在堆中被構造的,而且構造器必須和new一起使用。
    Employee number007("adai");    // 適用于C++,不適用于Java

    注意不要返回指向可變對象的引用的訪問方法。
    如果需要返回一個指向可變對象的引用,我們首先需要克隆(clone)它。一個克隆是一個對象放在新位置的精確拷貝。

    靜態方法是不向對象施加操作的方法,所以不能用一個靜態方法來訪問實例字段,但是靜態方法可以訪問自身類中的靜態字段。
    public static int getID()   {......}
    對靜態方法的調用需要使用類的名字。
    用static定義的變量、方法屬于類,而不屬于此類的特定對象。

    只有在類中沒有其他構造器時,系統才會提供默認構造器。如果你編寫的類中有一個自己編寫的構造器,而且又希望使用你的類的用戶通過調用new ClassName()來創建類的實例,那你就必須提供一個默認構造器(沒有參數)。當然,如果你喜歡把所有字段設置為默認值的話,你只用簡單的提供 public ClassName()   {}

    構造器執行之前,賦值會先被執行。

    構造器調用其他構造器:
       如果構造器的第一個語句具有形式this(...),那么這個構造器將調用同類中的其他構造器。

    如果需要在資源使用完畢后立即關閉資源,那就需要對它進行手工管理。對需要清除的資源使用dispose方法。重要的是,如果你使用的類含有 dispose方法,你需要在對象操作完后調用這個方法。尤其是,如果類的某個實例字段含有dispose方法,要提供一個釋放此實例字段的 dispose方法。

    只能使用*符合引入一個包。不能使用import java.*或是import java.*.*來引入所有以java為前綴的包。
    只能引入類,不能引入對象。

    類設計的技巧:
       1. 一定要讓數據私有。
       2. 一定要初始化數據。
       3. 不要在類中過多使用基本類型。
       4. 并非所有字段都需要獨自的字段訪問方法和更改方法。
       5. 為類定義使用標準格式。
       6. 分解職責太多的類。
       7. 讓類和方法的名字反映它們的職責。