不让类实现
接口(interface)而是直接使用final字段有什么好处吗?例如:
public interface MyInterface {
int CONST_A = 16;
int CONST_B = 45;
}
方法 1:
public class MyClass implements MyInterface {
MyClass() {
System.out.println("A = " + CONST_A);
System.out.println("B = " + CONST_B);
}
}
方法 2:
public class MyClass {
MyClass() {
System.out.println("A = " + MyInterface.CONST_A);
System.out.println("B = " + MyInterface.CONST_B);
}
}
我想知道上述方法是否比其他方法有任何优势。这种情况发生的地方之一是在 Blackberry 中,您将本地化文本定义为带有字符串键的接口(interface),并且您需要在代码的各个部分中使用该键作为参数来调用系统 API。
最佳答案
将常量放入接口(interface)并实现这些接口(interface)来访问常量被认为是一种不好的做法。原因是,许多类可以实现该接口(interface),从而提供对相同常量的许多访问点。
所以,为了回答你的问题,我宁愿使用第二种解决方案。更好的是,我将常量放在最终类中,以便只有一个访问常量的点。它会更清晰,并且更容易重构。
关于java - 实现带有最终字段的接口(interface)还是直接访问字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4470890/