接口中的修饰符
Oracle Java 风格指南指出:
修饰符不应在隐含时写出。
(见修饰符在甲骨文的官方代码标准的背景和实际的 Oracle 文档的链接。)
此样式指南特别适用于界面。让我们考虑以下代码片段:
interface I {
    public static final int VARIABLE = 0;
    public abstract void method();
    public static void staticMethod() { ... }
    public default void defaultMethod() { ... }
}
变量
所有接口变量都是隐式常量,隐式 public(可供所有人访问),static(可通过接口名称访问)和 final(必须在声明期间初始化)修饰符:
public static final int VARIABLE = 0;
方法
- 所有不提供实现的方法都是隐含的 public和abstract。
public abstract void method();
Version >= Java SE 8
- 所有使用 static或default修饰符的方法都必须提供实现,并且隐含地使用public。
public static void staticMethod() { ... }
完成上述所有更改后,我们将获得以下信息:
interface I {
    int VARIABLE = 0;
    
    void method();
    static void staticMethod() { ... }
    default void defaultMethod() { ... }
}