Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从活动中引用私有帮助器类_Java_Android_Class_Constructor - Fatal编程技术网

Java 从活动中引用私有帮助器类

Java 从活动中引用私有帮助器类,java,android,class,constructor,Java,Android,Class,Constructor,我需要使用helper类中的一些方法,但在活动中尝试创建helper类的对象时遇到问题 HelperClass helper = new HelperClass(); 当我执行上述操作时,我得到一个错误,说我需要将Helper()的可见性设为默认值。 下面是helper类的相关部分 public class HelperClass { private static HelperClass helperClass; private String list; private HelperCla

我需要使用helper类中的一些方法,但在活动中尝试创建helper类的对象时遇到问题

HelperClass helper = new HelperClass();
当我执行上述操作时,我得到一个错误,说我需要将Helper()的可见性设为默认值。 下面是helper类的相关部分

public class HelperClass {

private static HelperClass helperClass;
private String list;

private HelperClass() {
    initialiseHelper();
}

当我在HelperClass中取出private时,这是可以的,但是我不想编辑这个类。有办法解决这个问题吗

如果您想拥有私有构造函数,您可以从HelperClass创建singleton。

您的
Helper
类没有您标记的
public
构造函数
private


或者使用单例模式

看起来您正在尝试应用单例模式,但缺少
getInstance()
方法,该方法应如下所示:

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

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

应该有另一个非私有的构造函数。如果这个类在同一个包中,那么可以将构造函数包设置为私有,或者添加一个公共的“工厂方法”,即。E创建其对象的静态方法。我如何从活动中调用它?@Amanni,
HelperClass-HelperClass=HelperClass.getInstance()
public static synchronized HelperClass getInstance() {
    if (helperClass == null) {
        helperClass = new HelperClass();
    }
    return helperClass;
}