java - 实现带有最终字段的接口(interface)还是直接访问字段?

标签 java performance blackberry java-me

不让类实现接口(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/

相关文章:

javascript - JavaScript 中字符串连接的性能很糟糕?

Blackberry、Android、Windows Phone 7 和 iPhone 上的 Javascript 成熟度

java - 无法获得要编译的代码,有什么想法吗?

java - 使用结束条件限制的有限 while 循环的计算花费了多少时间 MSC01-J (SonarQube)

正则表达式与手动比较。哪个更快?

HTTP 连接参数

eclipse - 用于生成 BlackBerry 应用程序的 Eclipse IDE 中的描述错误

java - 哪些平台的缓冲区大小有限?

java - 一个 FXML 文件的多个 Controller

performance - JVM 收集时间是否随 JVM RAM 大小呈指数增长?