習慣の一形態として、私は通常、テストやJavaプロジェクトでの使いやすさのために静的メソッドに物事を保持することを避けています。ただし、これまでは、クラスの非静的インスタンスを作成する方法が1つしかないため、メインクラスを中心に静的メソッドと非静的メソッドを組み合わせて使用する必要がありました。通常、これは各メソッドのクラスメソッドをロードするのではなく、グローバル変数として行います。
たとえば、クラスMainGUIとProjMainがあるとします。ProjMainでは、グローバル変数を使用します。
private MainGUI gui = new MainGUI();
これは非常にうまく機能しますが、MainGUIクラスからアクセスしたいProjMainクラス内にメソッドがある場合は、当然同じことを行います。
private ProjMain project = new ProjMain();
ここでは、StackOverflowErrorを作成します。グローバルメソッドではなく、個々のメソッドに変数を配置することなく、クラスのインスタンスを変数として取得する簡単な方法はありますか?