1. 程式人生 > >Java程式設計規範筆記(三)

Java程式設計規範筆記(三)

(四) OOP規約

    避免通過一個類的物件引用訪問此類的靜態變數或靜態方法,無謂增加編譯器解析成本,直接用類名來訪問即可

    所有的覆寫方法,必須加@Override註解

    相同引數型別,相同業務含義,才可以使用Java的可變引數,避免使用Object(儘量不使用可變引數)

    不能使用過時的類或方法

    Object的equals方法容易拋空指標異常,應使用常量或確定有值的物件來呼叫equals

    所有的相同型別的包裝類物件之間值的比較,全部使用equals方法比較

    final可以宣告類、成員變數、方法、以及本地變數,下列情況使用final關鍵字:

      1) 不允許被繼承的類,如:String類。

      2) 不允許修改引用的域物件,如:POJO類的域變數。

      3) 不允許被重寫的方法,如:POJO類的setter方法。

      4) 不允許執行過程中重新賦值的區域性變數。

      5) 避免上下文重複使用一個變數,使用final描述可以強制重新定義一個變數,方便更好地進行重構。

   慎用Object的clone方法來拷貝物件。

   類成員與方法訪問控制從嚴:

       1) 如果不允許外部直接通過new來建立物件,那麼構造方法必須是private。

       2) 工具類不允許有public或default構造方法。

       3) 類非static成員變數並且與子類共享,必須是protected。

       4) 類非static成員變數並且僅在本類使用,必須是private。

       5) 類static成員變數如果僅在本類使用,必須是private。

       6) 若是static成員變數,必須考慮是否為final。

       7) 類成員方法只供類內部呼叫,必須是private。

       8) 類成員方法只對繼承類公開,那麼限制為protected。