当我在分析项目中的代码时,我遇到了这种情况。 如果有任何类实现此接口SampleInterface
我有完整的字符串常量声明的界面如下为什么有些开发人员在Java的Interfaces中声明了String对象,它是如何工作的?
public interface SampleInterface {
String EXAMPLE_ONE = "exampleOne";
String USER_ID = "userId";
public void setValue();
}
,会发生什么变化,它声明的变量?
- 继承的类是否可以访问所有变量?
- 实现的类是否需要重写声明?
- 什么可能是宣布在接口的字符串变量,我们可以使用一个抽象类,用于此目的的目的是什么?
此外,什么是最好的策略:
- 与最终的静态字段和私有构造函数的类?
- 一个接口的变量如上所示?
你说是把所有的常量接口和我的执行过程中访问它们,假设如果任何类实现了这个接口,会发生什么变化的变量? – gmhk 2010-12-14 03:17:03
然后你可以通过'MyInterface.MY_CONSTANT'或'MyExtendingClass.MY_CONSTANT'访问它们。甚至是'instanceOfMyExtendingClass.MY_CONSTANT',因为它们是'public static final'。 – haylem 2010-12-14 03:19:43
在实现类,你也可以只把它称为'MY_CONSTANT'(这是整个“常量接口”反模式的最初原因)。但是,如果这正是你所追求的,那么添加'import static'声明是有原因的。 – 2010-12-14 03:29:23