-2

2 つの異なるクラスで単一のオブジェクトにアクセスする方法はありますか?

クラスがあるとしましょう

public class A{
MyClass myObj = new MyClass();

myObj.setValue(x);
}

myObjクラスなどの別のクラスで使用し、B設定された値にアクセスできる方法はありますか。つまり、クラスでメソッドxを作成する必要はありませんか?getXA

4

5 に答える 5

1

はい、できます。

オブジェクトを静的にすることができます...

public class A{
 public static MyClass myObj = new MyClass();

 myObj.setValue(x);
}

これは、A.myObj を介してどこからでもアクセスできます。

そうは言っても、静的を使いすぎるのは好きではありません。絶対に必要な場合にのみ使用してください。

格納されたデータがクラスに関連付けられている場合は静的変数を使用し、オブジェクトに関連付けられている場合は非静的変数を使用します。

于 2013-07-17T09:19:51.770 に答える
0

これを意味する場合

public class A{
int x; int y;
}

public class B{
A a; int b;
}

はい。これは可能です。

于 2013-07-17T09:07:37.913 に答える
0

したがって、オブジェクトを一度作成し、それを A と B のコンストラクターに渡します。

C c = new C();
A a = new A(c);
B b = new B(c);

...

public class A 
{
    private final C c;

    public A(C c)
    {
        this.c = c;
    }
}
于 2013-07-17T09:08:09.703 に答える