为什么练习中的”地球诞生“只出现一次,不是应该打印三次么?谢谢!

为什么练习中的”地球诞生“只出现一次,不是应该打印三次么?谢谢!

为什么练习中的”地球诞生“只出现一次,不是应该打印三次么?谢谢!(越详细越好!)

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
irista23 2019-01-22 13:33:50

单例模式的重要价值就是通过static成员,以及私有构造方法,限制某个类的对外对象有且只能有一个。对于饿汉模式而言,是在创建对象的时候直接实例化,然后在使用的时候直接调用对象,是通过空间换区时间。

至于只执行一次,是因为当构造方法私有之后,本身已经屏蔽了对外产生实例的接口,再加上static修饰的是类成员,所以只会出现一次“地球诞生”。

  • 提问者 Ceoking #1
    为什么static修饰类成员,就显示一次呢?谢谢!
    2019-01-22 13:38:17
  • irista23 回复 提问者 Ceoking #2
    static变量只能初始化一次,如果已经初始化了,后面无论在调用多少次,都不会再进行初始化,所以能够保证只有一个实例对象,这也就是说,单例模式可以保证无论调用多少次getXX()都只实例化一个对象。所以只在第一次调用的时候实例化,后面使用的是同一个对象。
    2019-01-22 13:44:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师