更改界面中定义的常量

时间:2012-04-19 08:26:56

标签: java interface constants

我有接口,它承载我的应用程序所需的常量。我希望能够在运行时更改,因为它们取决于各种条件。我创建了一个小类,它将具有处理常量的方法。在这个类我已经实现了与常量的接口,我可以访问它们,但我不能改变它们的内容。我知道常量应该是稳定的而不会改变,但是,还有什么办法可以改变它们吗?

THX

修改

当然这不是我的想法,我需要改变现成的库,这应该取决于Android厂商。而且我在问是否还有其他方法可以重新实现它。

3 个答案:

答案 0 :(得分:2)

“改变”和“不变”这两个词并没有真正发挥得非常好。因此,术语“变量”(可以变化的东西)。 ; - )

您可以使用final variables来实现您的目标。这些变量只能分配一次。你不能将它们放在interface上,但你可以使它们成为一个初始化的单例的成员,并将决赛设置为适当的运行时值。

答案 1 :(得分:1)

常数正是他们对锡的说法!

您可能想尝试不使用内容并阅读静态,私有,公共等等!

答案 2 :(得分:0)

编译器通常内联编译时知道常量。这意味着即使您使用反射更改值,也不会始终更改使用常量的位置。

解决这个问题的方法是让你的“常量”变得动态。 e.g。

interface Constants {
    int MAX_VALUE = Integer.getInteger("max.value", Integer.MAX_VALUE);
    String USER_HOME = System.getProperty("user.home");
}