练习3-2懒汉式

练习3-2懒汉式

代码里新建了三个Earth

Earth one = Earth.getEarth();

Earth two = Earth.getEarth();

Earth three = Earth.getEarth();

为什么就第一个会输出 地球诞生,而下面的两个不会呢

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

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

2回答
提问者 云原子 2017-08-17 00:45:52

因为Earth类中创建的是私有构造方法,所以外部类无法通过new关键字来创建对象;此时我们提供一个静态入口方法,此方法保证此类只会存在一个对象,其它类想使用此类对象时就调用那个静态方法获取就可以。不管外面的类调用过多少次,它们使用的都是同一个对象,不会重新创建对象,所以不会重新实例化,故不会重新调用构造方法,我这个理解对吗

慕运维2858188 2017-08-15 10:35:02

http://img1.sycdn.imooc.com/climg//59925d9100012df611220546.jpg

如果当前对象没有, 则创建对象

如果当前对象存在,则直接返回之前创建过的已存在的对象,不再重新创建新的对象

  • 提问者 云原子 #1
    不好意思,练习3-2是饿汉式,我打错了
    2017-08-17 00:43:57
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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