私は初心者の質問があります。 2つ以上のクラスによって共有されるいくつかのグローバル変数がある場合、どのクラスを別のファイルに持っていけば、どのクラスでもそれを読み込んで更新することができます。インターフェイスを使用せずにこれは可能ですか?グローバル変数用のJava独立ファイル
答えて
はい、interface
の変数はすべて暗黙的にstatic
です。したがって、これらの変数のそれぞれは、jvmにインスタンスが1つしかありません。
しかし、私の意見では、もっと良い方法は、おそらく彼らがsingletonクラスで宣言して使用されていることでしょう。
これを行う最も良い方法は、共有アプリケーションの状態をインターフェイスメソッドでアクセスできるようにし、次に変数を保持する実装クラスを持ち、構築中にこのクラスのインスタンスを他のクラスに渡すことです。インタフェースのインスタンス)。
これは、テストのために共有状態の機能を模擬し、一般的なコードの再利用性を向上させ、影響を与えずに共有状態の実装と構成を変更できるようにするため、そのコードを使用しています。
など。
// Session interface for all application shared state.
public interface ApplicationSession
{
public int getMaxUserLimit();
}
// A backing for the interface (simple in memory version, maybe future versions use a database, who knows).
public class SomeApplicationSession implements ApplicationSession
{
private volatile int maxUserLimit = 0;
public void setMaxUserLimit(int limit) { this.maxUserLimit = limit; }
public int getMaxUserLimit() { return maxUserLimit; }
}
// ClassA uses the supplied session.
public class MyClassA
{
private ApplicationSession session;
public myClassA(ApplicationSession session)
{
this.session = session;
}
}
// usage...
public class MyMain
{
public static void main(String[] args)
{
// Create/get session (ultimately possibly from a factory).
ApplicationSession session = new SomeApplicationSession();
ClassA myClassA = new ClassA(session);
// do stuff..
}
}
の可能複製あなたが私にこの部分を説明してくださいすることができますApplicationSessionセッション=は新しいですSomeApplicationSession(); – user1064089
@ user1064089これは、アプリケーションセッションのインスタンスをインスタンス化する単なる例です(そして、この1つのインスタンスは、構築時に他のクラス間で共有されます)。これを書かれているように便利にするには、インターフェイスで設定されたメソッドを宣言することもできます(または、セッション内の変数を変更する方法はありません)。 –
- 1. R - 独立変数多項式用語
- 2. Javaのペア独立ハッシュ関数
- 3. Rubyの複数の独立変数ケース
- 4. javaパスの独立性
- 5. 独立したJavaファイルのメソッドを使用する
- 6. PowerPCアセンブリの位置依存、独立したコード、およびグローバル変数
- 7. 独立変数の宣言方法は?
- 8. ループ独立変数のコンパイラ最適化
- 9. scipy.optimizeのcurve_fitエラー独立変数
- 10. ランダムフォレスト(Python)のターゲットと独立変数
- 11. RmのLm関数を使用した連続独立変数
- 12. Java起動独立プロセス
- 13. C++関数の独立和
- 14. Object.watch()を「独立」変数に使用しますか?
- 15. Javaのスレッドセーフなグローバル変数
- 16. ヒートマップをRで生成する(複数の独立変数)
- 17. Javaシステムクロック独立したスケジューリング/ポーズ
- 18. 複数の変数を使用するggplot2 facet_wrapの独立したストリップテーマ
- 19. 複数のラグ独立変数を使用した線形回帰
- 20. ファイル間のPHPグローバル変数
- 21. ファイルへのグローバル変数
- 22. 2つの独立したトラストストアを使用するJavaアプリケーション
- 23. 独立したクラスパス用のJava分離System.out
- 24. グローバル結果を独立したストラットにする2
- 25. MATLAB - 独立変数を持つ行列関数?
- 26. Pythonファイルの関数定義を独立にする
- 27. Rの2つの独立変数の共同累積分布
- 28. ラムダクエリの複数の独立したフィルタ
- 29. Scalaの複数の独立したimplicits
- 30. 独立クラスのクラス変数へのアクセスPython2.7.1
[Javaでグローバル変数](http://stackoverflow.com/questions/4646577/global-variables-in-java) –