java 小知识提问

飞鱼落雁 2016-12-12 01:04:07
A : Class Soup{
private Soup soup = new Soup();
private Soup(){}
public static Soup makeSoup(){
return soup;
}
}
B : Class Soup{
private Soup(){}
public static Soup makeSoup(){
return new Soup();
}
}

A-这样写是单例模式,让我们都用一个类,但是B这样写有什么优点吗?求大神指点!!!!!!!
...全文
492 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
树成 2016-12-13
  • 打赏
  • 举报
回复
B不是单例模式,谢谢
小胖逼逼叨 2016-12-12
  • 打赏
  • 举报
回复
A叫饿汉式,B叫懒汉式 你的B方法有点问题,应该加上判断对象是否已创建 所谓“懒汉式”与“饿汉式”的区别,是在与建立单例对象的时间的不同。 “懒汉式”是在你真正用到的时候才去建这个单例对象: “饿汉式”是在不管你用的用不上,一开始就建立这个单例对象 懒汉式省空间,饿汉式省时间
紫色动力 2016-12-12
  • 打赏
  • 举报
回复
学习学习,呵呵!
ryuugu_rena 2016-12-12
  • 打赏
  • 举报
回复
引用 4 楼 soton_dolphin 的回复:
楼主想问的是单例里面的滞后初始化和即时初始化吧
大神给俺们讲讲吧
soton_dolphin 2016-12-12
  • 打赏
  • 举报
回复
楼主想问的是单例里面的滞后初始化和即时初始化吧
爱睡觉的阿狸 2016-12-12
  • 打赏
  • 举报
回复
,没仔细看,A的soup属性还少了个static
myshell 2016-12-12
  • 打赏
  • 举报
回复
你确定A能通过编译吗?将A的成员变量改为静太变量,就是饿汉单例模式。
爱睡觉的阿狸 2016-12-12
  • 打赏
  • 举报
回复
A叫单例模式,B不是单例模式,可以无限产生对象,没有可比性。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧