有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java应该在getInstance或构造函数中使用Init方法吗?

我在同一个类中有getInstance和一个构造函数,但我不确定我把Init方法放在哪里

public class UploadService {   
    private Eng mEng;
    private Context mContext;
    private static UploadService INSTANCE;
    private String appDir;

    public static UploadService getInstance(Context context) {
        if (null == INSTANCE) {
            INSTANCE = new UploadService(context);
        }
        return INSTANCE;    
    }

    public UploadService(Context context) {
        this.mContext = context;
        appDir=V8Utils.getAppDir(context);
    }

    public void init(Context cxt) {
        mEng = new Eng(cxt);
        mEng.init(appDir);

    }
}

共 (1) 个答案

  1. # 1 楼答案

    我会的

    • init()标记为私有方法
    • 在构造函数中调用它,因为它正在使用Context对象初始化UploadService对象的状态

    我是说:

    public UploadService(Context context) {
        this.mContext = context;
        appDir=V8Utils.getAppDir(context);
        init(context);
    }
    
    private void init(Context cxt) {
        mEng = new Eng(cxt);
        mEng.init(appDir);
    
    }