【发布时间】:2018-01-27 10:07:37
【问题描述】:
接口中的任何常量都隐含为public static final。所以接口常量是一个静态字段。
如果我的班级 ExampleCls 中有一个静态字段 fld,那么 从我的常规 ExampleCls 的任何方法(实例和静态)中引用此静态字段 fld 的最佳实践是通过限定名称:ExampleCls.fld - 区分使用静态字段和使用实例字段。
所以如果类MyCls implements Iface(与int MY_CONST=1 的一些接口),那么MyCls 继承了这个静态MY_CONST 和**我应该如何从MyCls 的实例和静态方法中引用MY_CONST?
- 就像 MY_CONST 一样?
- Iface.MY_CONST ?
- MyCls.MY_CONST ?
什么是公认的最佳做法?在这个问题上是否有不同的意见,或者普遍接受的共识?
【问题讨论】:
-
我会写
MyCls inherits this static MY_CONST而不是MyCls has accsess to this static MY_CONST -
感谢您的快速回归!