接口中的任何常量都是隐式public static final
。所以接口常量是一个静态字段。
如果我的班级fld
中有静态字段ExampleCls
,那么是从任何方法(包括实例和静态)引用此静态字段fld
的最佳做法我的常规ExampleCls通过限定名称:ExampleCls.fld
- 区分使用静态字段和使用实例字段。
因此,如果类MyCls implements Iface
(某些与int MY_CONST=1
的接口),则MyCls
继承此静态MY_CONST,**我应如何从{{1的实例和静态方法中引用MY_CONST }}?
最受欢迎的做法是什么?关于这个问题是否有任何不同的意见,或者普遍接受共识?
答案 0 :(得分:2)
简单回答:不要。
我认为Java的所有当前编码约定都建议不将常量放入接口。将它们放入课堂,但不要使用界面绕道而行。
除此之外:如果你的环境"仍然使用接口常量,然后使用最适合你的内容。换句话说:与参与此代码库的人员坐下来,并就共同的编码约定达成一致。
这里没有真正迫切的技术原因。这仅仅是"样式"。在这种情况下,如上所述,你只需选择"什么有效"对你而言。