我正在尝试使用 Java 枚举实现单例。
但是我也想在第一次初始化时将一些参数传递给构造函数。
我该如何做到这一点?使用带参数的单例是一个好习惯吗?
public enum DaoManager {
INSTANCE;
private static ILog logger; //for passing the logger;
private static DatabasePool pool; //passing the Database pool
public void init(ILog logger, DatabasePool pool){
this.logger = logger;
this.pool = pool;
}
}
现在我正在使用 init 方法将记录器和数据库池传递给 DaoManager。
但是,如果客户端未能调用 init() 方法,那么很有可能会失败。
有人可以指导我如何做到这一点吗?