枚举实现单例模式怎么传参数?
import controller.ReadXMLConfig;
public enum XMLDataCollection {
INSTANCE;
private ReadXMLConfig instance;
XMLDataCollection(String xmlpath)
{
instance = new ReadXMLConfig(xmlpath);
}
public ReadXMLConfig getInstance()
{
return instance;
}
}
比如这样子,,new ReadXMLConfig(xmlpath),这不就要求ReadXMLConfig构造方法公开了吗,还怎么保证自己是单例?
不传参数又怎么知道要读哪个xml,网上都找不到例子参考。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查找下枚举的实现逻辑。
想清楚你是想要 ReadXMLConfig 的单例还是 XMLDataCollection 的单例,为什么要混到一起呢。
实现接口的enum单例(接口省略)
我劝你还是多看看单例相关的博文吧,网上很多的。
由于
priavte
只能在类内部访问,所以单例一般都是这个类自己的单例,也就是说,ReadXMLConfig
的单例通常是通过ReadXMLConfig.getInstance()
来实现,而不是另一个类的getInstance()
来实现。Spring 中配置的配置的单例除外,那个是单例由框架来保证,而不是由语法来保证。