0

ヘルパー クラスのメソッドをいくつか使用する必要がありますが、アクティビティでヘルパー クラスのオブジェクトを作成しようとすると問題が発生します。

HelperClass helper = new HelperClass();

上記を実行すると、Helper() の可視性をデフォルトにする必要があるというエラーが表示されます。ヘルパー クラスの関連部分を次に示します。

public class HelperClass {

private static HelperClass helperClass;
private String list;

private HelperClass() {
    initialiseHelper();
}

HelperClass でプライベートを取り出しても問題ありませんが、このクラスを編集したくありません。これを回避する方法はありますか?

4

3 に答える 3

2

シングルトンパターンを適用しようとしているように見えますが、次のようなgetInstance()メソッドがありません。

public static synchronized HelperClass getInstance() {
    if (helperClass == null) {
        helperClass = new HelperClass();
    }
    return helperClass;
}

のインスタンスを参照するすべての場所で、このメソッドを使用する必要がありますHelperClass。お役に立てれば。

于 2012-12-02T18:06:59.280 に答える
0

プライベートコンストラクターが必要な場合は、HelperClass からシングルトンを作成できます。

于 2012-12-02T18:05:16.463 に答える
0

マークしたようにHelper、クラスにはコンストラクターがありません。publicprivate

または

public HelperClass{

   private HelperClass(){
   // do some stuff
   }

   public static HelperClass newInstance(){
       new HelperClass();
   }
}

またはシングルトンパターンを使用

于 2012-12-02T18:05:33.957 に答える