不,它没有任何区别.然而,原因不是因为它是界面内的成员声明,正如乔恩所说.真正的原因是根据语言规范(8.9)
嵌套枚举类型是隐式静态的.允许将嵌套的枚举类型显式声明为静态是允许的.
在以下示例中,static也没有任何区别(即使我们没有接口):
public class A { enum E {A,B}; } public class A { static enum E {A,B}; }
嵌套私有枚举的另一个例子(不是隐式公开的).
public class A { private static enum E {A,B} }
不,它没有任何区别.从语言规范,第9.5节:
接口可能包含成员类型声明(第8.5节).在接口的成员类型声明是隐式
static
和public
.