我有接口,它承载我的应用程序所需的常量。我希望能够在运行时更改,因为它们取决于各种条件。我创建了一个小类,它将具有处理常量的方法。在这个类我已经实现了与常量的接口,我可以访问它们,但我不能改变它们的内容。我知道常量应该是稳定的而不会改变,但是,还有什么办法可以改变它们吗?
THX
修改
当然这不是我的想法,我需要改变现成的库,这应该取决于Android厂商。而且我在问是否还有其他方法可以重新实现它。
答案 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");
}