我需要使用辅助类中的一些方法,但是当我尝试在我的活动中创建辅助类的对象时遇到了麻烦。
HelperClass helper = new HelperClass();
当我执行上述操作时,我收到一条错误消息,说我需要将Helper()的可见性设置为默认值。 这是助手类的相关部分。
public class HelperClass {
private static HelperClass helperClass;
private String list;
private HelperClass() {
initialiseHelper();
}
当我在HelperClass中删除私有时,它很好,但我不想编辑这个类。有没有解决的办法?
答案 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