从活动引用私有帮助程序类

时间:2012-12-02 18:01:11

标签: java android class constructor

我需要使用辅助类中的一些方法,但是当我尝试在我的活动中创建辅助类的对象时遇到了麻烦。

HelperClass helper = new HelperClass();

当我执行上述操作时,我收到一条错误消息,说我需要将Helper()的可见性设置为默认值。 这是助手类的相关部分。

public class HelperClass {

private static HelperClass helperClass;
private String list;

private HelperClass() {
    initialiseHelper();
}

当我在HelperClass中删除私有时,它很好,但我不想编辑这个类。有没有解决的办法?

3 个答案:

答案 0 :(得分:2)

看起来您正在尝试应用 Singleton 模式,但是您错过了getInstance()方法,它应该如下所示:

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

现在,您应该在任何想要引用HelperClass实例的地方使用此方法。希望这会有所帮助。

答案 1 :(得分:0)

如果你想拥有私人构造函数你可以从HelperClass制作单例。

答案 2 :(得分:0)

您的Helper课程没有public构造函数,因为您已将其标记为private

或者

public HelperClass{

   private HelperClass(){
   // do some stuff
   }

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

或使用 Singleton Pattern