当前位置:  开发笔记 > 编程语言 > 正文

嵌套的Java枚举定义 - 声明为静态会产生影响吗?

如何解决《嵌套的Java枚举定义-声明为静态会产生影响吗?》经验,为你挑选了2个好方法。



1> idrosid..:

不,它没有任何区别.然而,原因不是因为它是界面内的成员声明,​​正如乔恩所说.真正的原因是根据语言规范(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}
}


我认为它是两者 - 由于两个不同的原因,它隐含地是静态的,但它们中的任何一个本身就足够了.

2> Jon Skeet..:

不,它没有任何区别.从语言规范,第9.5节:

接口可能包含成员类型声明(第8.5节).在接口的成员类型声明是隐式staticpublic.

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有