Java接口中的修饰符

示例

《 Oracle Java样式指南》指出:

当修饰符是隐式的时,不应将它们写出来。

(有关上下文和指向实际Oracle文档的链接,请参见Oracle Official Code Standard中的修饰符。)

此样式指南特别适用于界面。让我们考虑以下代码片段:

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;


方法

  1. 所有不提供实现的方法都是隐式public和abstract。

public abstract void method();

Java SE 8
  1. 所有带有static或default修饰符的方法都必须提供实现,并且是隐式的public。

public static void staticMethod() { ... }

应用以上所有更改后,我们将获得以下内容:

interface I {
    int VARIABLE = 0;
    
    void method();

    static void staticMethod() { ... }
    default void defaultMethod() { ... }
}