修饰符

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,除非有令人信服的理由使它们变得可变。