0

したがって、メイン メソッドで使用したのと同じオブジェクトを使用して、他のすべてのクラスからアクセスできるようにしたいと考えています。これどうやってするの?

4

5 に答える 5

4

mainオブジェクトは、メソッドの外側で として宣言する必要がありますstatic。これにより、すべてのクラスがオブジェクトの同じインスタンスにアクセスできます。これは、同じ JVM 内で 1 つしか存在できないためです。Oracle チュートリアルのツアーに参加してください。

于 2012-08-01T17:53:35.983 に答える
2

staticどのクラスにもフィールドを作成する必要があります。

于 2012-08-01T17:51:04.263 に答える
1

staticメソッドの外で作成するmainか、他のクラスのコンストラクターに渡すことができます。

于 2012-08-01T17:56:23.987 に答える
0

最も単純な(そしてスレッドセーフな)形式で次のようなシングルトンパターンを使用することもできます

public class Single {
    private static final INSTANSE = new Single();
    //disallow instantiation outside
    private Single() {
    }
    public Single getInstance() {
         return INSTANCE;
    }
}
于 2012-08-01T17:58:07.840 に答える
0

main メソッドで宣言することはできません。クラスの下で静的変数として宣言する必要があります。

いいえ:

public class Temp
{
    public static String a = "";
    public static void main(String[] args)
    {
        a = "asdf";
    }
}

これで、Temp.a を呼び出すことで、どこからでも変数 a にアクセスできます。

于 2012-08-01T17:58:37.387 に答える