介面中的修飾符

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;

方法

  1. 所有不提供實現的方法都是隱含的 publicabstract
public abstract void method();

Version >= Java SE 8

  1. 所有使用 staticdefault 修飾符的方法都必須提供實現,並且隱含地使用 public
public static void staticMethod() { ... }

完成上述所有更改後,我們將獲得以下資訊:

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

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