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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 雪龙 中级黑马   /  2013-9-10 22:24  /  1105 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

下面有两种类型的 NumberManager 的代码,那个更好些,为什么,求解?

第一种:
// 创建三种类型的客户
NumberManager commonClient=new NumberManager();
NumberManager expressClient=new NumberManager();
NumberManager vipClient=new NumberManager();
// 创建号码机器实例
NumberMachine numberMachine=new NumberMachine();
// 只有一台机器,使用单例。构造函数
private NumberMachine() {}
// 对外提供接口
  public NumberMachine getInstance() {
   return numberMachine;
  }

第二种:
// 创建三种类型的客户
NumberManager commonClient = null;
NumberManager expressClient = null;
NumberManager vipClient = null;
// 创建号码机器实例
NumberMachine numberMachine = null;
// 只有一台机器,使用单例。构造函数
private NumberMachine() {
  commonClient = new NumberManager();
  expressClient = new NumberManager();
  vipClient = new NumberManager();
  // 创建号码机器实例
  numberMachine = new NumberMachine();
}
// 对外提供接口
  public NumberMachine getInstance() {
   return numberMachine;
  }

上面那种方式 比较好啊?在单例设计的时候

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

3 个回复

倒序浏览
针对不同的程序,不同的业务,会有不同的结果
回复 使用道具 举报
我可以说楼主两段代码都不是单例么,两段代码都是废的
而且号码管理器你不加私有权限修饰符,就不能完成银行调度系统的要求
回复 使用道具 举报
本帖最后由 雪龙 于 2013-9-11 11:13 编辑
神之梦 发表于 2013-9-11 02:26
我可以说楼主两段代码都不是单例么,两段代码都是废的
而且号码管理器你不加私有权限修饰符,就不能完成银 ...

谢谢提醒,解决了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马