接口中的修饰符
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() { ... }
}