1

Android アプリにクラス A があり、いくつかのメソッドがあります。これらのメソッドはパブリックであり、他のクラス (B、C、D、E、F ...) で使用されます。

クラス A からオブジェクトを 1 回だけ作成し、それを他のクラスで使用する可能性はありますか、または各クラスで新しいオブジェクトを作成する必要があります。

実際には、各クラス (B、C、D、E、F ...) で行う必要があります。

A a = new A();
a.xxxx;

オブジェクト a を 1 回だけ作成し、それを他のクラスで呼び出すことができれば素晴らしいことです。

ありがとうございました。

4

5 に答える 5

6

シングルトン パターンを使用します。クラス間で同じインスタンスを使用できます。

http://www.javabeginner.com/learn-java/java-singleton-design-pattern

于 2012-04-12T12:20:14.793 に答える
3
class A{
    static A a;
    static{
          a = new A();
    }
}

他のすべてのクラスで使用

A.a to get the object and call respective methods as
A.a.xxxx()
于 2012-04-12T12:21:05.923 に答える
2

これを行うには、静的メソッドのアナロジーを使用します。

例えば:

public class Helper{
    public static void doSomething(){
        //do something here
    }
}

他のクラスで、上記のメソッドを以下のように使用します。

Helper.doSomething();

または、シングルトンパターンも代替になります。

于 2012-04-12T12:19:56.653 に答える
1

その代わりに、これらのメソッドを静的にするか、状態が含まれていない場合は単一のインスタンス パターンを検討してください。

静的メソッドシングルトン パターンの使用方法

于 2012-04-12T12:15:35.520 に答える
1

次の 3 つの可能性があります。

1.これらが「通常の」ヘルパーメソッドである場合は、次のこともできます

クラス B は A を拡張します

AのメソッドをB、C、D、E、...に継承します。

2.ただし、他のすべてのクラスまたは B、C、D のインスタンスに対してグローバルなクラス A の内部メモリが必要な場合は、次のような静的パターンを使用できます。

class A{

static int myGlobalIntVariable; //which is accessible from everywhere 
static void myHelperMethod1() {

}

または 3.上記のようにシングルトンを使用して、どこでも使用するインスタンスを作成することもできます。

備考として、メソッドにアクセスする際の好みに応じて、シングルトンまたは静的パターンを使用できます。

静的パターンの場合、次のように呼び出す必要があります。

A.myHelperMethod();

シングルトンの場合は、次のことを行う必要があります。

A.getSingleton().myHelperMethod1();  or A.singleton.myHelperMethod1()

singletonクラス A 内で呼び出される変数を定義した場合

どちらを使用するかは、ニーズと好みによって異なります:-)

于 2012-04-12T12:51:01.807 に答える