1.【強制】構造方法里面禁止加入任何業務邏輯,如果有初始化邏輯,請放在 init 方法中。
2.【推薦】當一個類有多個構造方法,或者多個同名方法,這些方法應該按順序放置在一起,便于閱讀。
3.【推薦】 類內方法定義順序依次是:公有方法或保護方法 > 私有方法 > getter/setter方法。
說明:公有方法是類的調用者和維護者最關心的方法,首屏展示最好;保護方法雖然只是子 類關心,也可能是“模板設計模式”下的核心方法;而私有方法外部一般不需要特別關心,是一 個黑盒實現;因為方法信息價值較低,所有 Service 和 DAO 的 getter/setter 方法放在類體最后。
4.【推薦】final 可提高程序響應效率,聲明成 final 的情況:
1) 不需要重新賦值的變量,包括類屬性、局部變量。
2) 對象參數前加 final,表示不允許修改引用的指向。
3)類方法確定不允許被重寫。
5.【推薦】類成員與方法訪問控制從嚴:
1) 如果不允許外部直接通過 new 來創建對象,那么構造方法必須是 private。
2) 工具類不允許有 public 或 default 構造方法。
3) 類非 static 成員變量并且與子類共享,必須是 protected。
4) 類非 static 成員變量并且僅在本類使用,必須是 private。
5) 類 static 成員變量如果僅在本類使用,必須是 private。
6) 若是 static 成員變量,必須考慮是否為 final。
7) 類成員方法只供類內部調用,必須是 private。
8) 類成員方法只對繼承類公開,那么限制為 protected。
說明:任何類、方法、參數、變量,嚴控訪問范圍。過寬泛的訪問范圍,不利于模塊解耦。思考:如果是一個private 的方法,想刪除就刪除,可是一個 public 的 Service 方法,或者一個public 的成員變量,刪除一下,不得手心冒點汗嗎?變量像自己的小孩,盡量在自己的視線內,變量作用域太大,如果無限制的到處跑,那么你會擔心的。