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

枚举实现单例模式怎么传参数?

枚举实现单例模式怎么传参数?

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

2 回答

?
慕码人2483693

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

由于priavte只能在类内部访问,所以单例一般都是这个类自己的单例,也就是说,ReadXMLConfig的单例通常是通过ReadXMLConfig.getInstance()来实现,而不是另一个类的getInstance()来实现。Spring中配置的配置的单例除外,那个是单例由框架来保证,而不是由语法来保证。
查看完整回答
反对 回复 2019-04-27
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

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

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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