为了账号安全,请及时绑定邮箱和手机立即绑定

求大佬指点哈!枚举实现单例模式怎么传参数?

求大佬指点哈!枚举实现单例模式怎么传参数?

白板的微信 2019-08-13 23:40:20
importcontroller.ReadXMLConfig;publicenumXMLDataCollection{INSTANCE;privateReadXMLConfiginstance;XMLDataCollection(Stringxmlpath){instance=newReadXMLConfig(xmlpath);}publicReadXMLConfiggetInstance(){returninstance;}}比如这样子,,newReadXMLConfig(xmlpath),这不就要求ReadXMLConfig构造方法公开了吗,还怎么保证自己是单例?不传参数又怎么知道要读哪个xml,网上都找不到例子参考。
查看完整描述

2 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

我劝你还是多看看单例相关的博文吧,网上很多的。
由于priavte只能在类内部访问,所以单例一般都是这个类自己的单例,也就是说,ReadXMLConfig的单例通常是通过ReadXMLConfig.getInstance()来实现,而不是另一个类的getInstance()来实现。
Spring中配置的配置的单例除外,那个是单例由框架来保证,而不是由语法来保证。
                            
查看完整回答
反对 回复 2019-08-13
?
隔江千里

TA贡献1906条经验 获得超10个赞

实现接口的enum单例(接口省略)
publicenumSingletonimplementsMySingleton{
INSTANCE;
@Override
publicvoiddoSomething(){
System.out.println("completesingleton");
}
publicstaticMySingletongetInstance(){
returnSingleton.INSTANCE;
}
}
                            
查看完整回答
反对 回复 2019-08-13
  • 2 回答
  • 0 关注
  • 332 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号