A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xuchulong1 中级黑马   /  2012-10-31 14:17  /  1479 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

私有构造函数可以实现一个类只被定义一次的功能:
public class Singleton {   private static Singleton instance = null;  public static synchronized Singleton getInstance() {  if (instance==null)    instance=new Singleton();        return instance;       } }

关于这个我不是很明白,希望有比较清楚的能帮我稍微解释下哈

评分

参与人数 1黑马币 +12 收起 理由
韩军博 + 12 神马都是浮云

查看全部评分

4 个回复

倒序浏览
这是单例的设计模式,张老师讲的很清楚了。一般多线程会用到单例模式,主要是为了实现资源的共享,符合实际需求。
回复 使用道具 举报
可能是我没有说清楚,我是想知道为什么只能定义一个这样的类,在另外的类里面,如果我要定义这个类的话,我调用Singleton.getInstance();两次的话,不是就有两个对象了么??如果这样定义的是同一个的话,又是为什么呢
回复 使用道具 举报
调用Singleton.getInstance()两次:第1次调用创建了对象;第2次调用的时候if (instance==null)不满足,直接返回第一次创建的对象,以后也都这样。

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
杨政 发表于 2012-10-31 15:07
调用Singleton.getInstance()两次:第1次调用创建了对象;第2次调用的时候if (instance==null)不满足,直接 ...

哦,对,没注意,谢啦,哈哈哈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马