-4

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

谢谢

编辑:

当然这不是我的想法,我需要更改现成的库,这应该取决于 Android 制造商。我在问是否有其他方法然后重新实现它。

4

3 回答 3

2

“变化”和“恒定”这两个词并不能很好地相互配合。因此,术语“变量”(可以变化的事物)。;-)

您可以使用finalvariables来实现您正在寻找的东西。这些是只能分配一次的变量。你不能把它们放在一个 上interface,但你可以让它们成为一个单例的成员,这个单例被初始化并将决赛设置为适当的运行时值。

于 2012-04-19T08:31:45.323 回答
1

常数正是他们在锡上所说的!

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

于 2012-04-19T08:28:59.887 回答
0

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

解决此问题的方法是使您的“常量”动态化。例如

interface Constants {
    int MAX_VALUE = Integer.getInteger("max.value", Integer.MAX_VALUE);
    String USER_HOME = System.getProperty("user.home");
}
于 2012-04-19T09:28:16.537 回答