-4

アプリケーションに必要な定数をホストするインターフェースがあります。さまざまな条件に依存するため、実行時に変更できるようにしたいと思います。定数を処理するメソッドを持つ小さなクラスを作成しました。このクラスでは、定数を使用してインターフェイスを実装しました。それらにアクセスできますが、コンテンツを変更することはできません。定数は変更せずに安定しているはずですが、変更する方法はありますか?

どうも

編集:

もちろん、これは私の頭からではありません。Android メーカーに依存する既製のライブラリを変更する必要があります。そして、それを再実装する他の方法があるかどうかを尋ねています。

4

3 に答える 3

2

「変化」と「一定」という言葉は、あまりうまく調和していません。したがって、「変数」(変化する可能性があるもの)という用語。;-)

final変数を使用して、探しているものを達成できる場合があります。これらは一度だけ割り当てることができる変数です。それらを に配置することはできませんでしたinterfaceが、初期化されてファイナルを適切なランタイム値に設定するシングルトンのメンバーにすることはできました。

于 2012-04-19T08:31:45.323 に答える
1

定数は、缶に書かれているとおりです。

定数を使用せず、static、private、public などに読み込むことをお勧めします。

于 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 に答える