修飾符

class ExampleClass {
    // Access modifiers first (don't do for instance "static public")
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

interface ExampleInterface {
    // Avoid 'public' and 'abstract' since they are implicit
    void sayHello();
}
  • 修飾符應按以下順序排列

    • 訪問修飾符(public / private / protected
    • abstract
    • static
    • final
    • transient
    • volatile
    • default
    • synchronized
    • native
    • strictfp
  • 修飾符不應在隱含時寫出。例如,介面方法既不應宣告為 public 也不應宣告為 abstract,並且巢狀的列舉和介面不應宣告為靜態。

  • 方法引數和區域性變數不應宣告為 final,除非它提高了可讀性或記錄了實際的設計決策。

  • 欄位應該被宣告為 final,除非有令人信服的理由使它們變得可變。