Java 从活动中引用私有帮助器类
我需要使用helper类中的一些方法,但在活动中尝试创建helper类的对象时遇到问题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
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;
}