java单例接口_JAVA单例模式

本文介绍了Java中的单例模式,包括为什么将构造方法设为private,单例模式的特性,以及三种单例模式的实现方式:懒汉式、饿汉式和登记式,并通过代码示例展示了它们的优缺点。同时,文章提到了线程安全问题及其解决方案。
摘要由CSDN通过智能技术生成

一.问题引入

偶然想想到的如果把Java的构造方法弄成private,那里面的成员属性是不是只有通过static来访问呢;如果构造方法是private的话,那么有什么好处呢;如果构造方法是private的话,会不更好的封装该内呢?我主要是应用在使用普通类模拟枚举类型里,后来发现这就是传说中的单例模式。构造函数弄成private 就是单例模式,即不想让别人用new 方法来创建多个对象,可以在类里面先生成一个对象,然后写一个public static方法把这个对象return出去。(eg:public 类名 getInstancd(){return 你刚刚生成的那个类对象;}),用static是因为你的构造函数是私有的,不能产生对象,所以只能用类名调用,所有只能是静态函数。成员变量也可以写getter/setter供外界访问的。如果谁要用这个类的实例就用有兴趣的读者参看原作者这一篇博文http://www.cnblogs.com/hxsyl/archive/2013/03/18/2966360.html。

第一个代码不是单例模式,也就是说不一定只要构造方法是private的就是单例模式。

8f900a89c6347c561fdf2122f13be562.pngView Code

8f900a89c6347c561fdf2122f13be562.pngView Code

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值