黑马程序员技术交流社区

标题: 谁能分析下为什么单例模式只能产生一个实例 [打印本页]

作者: 邹园倚    时间: 2015-5-7 12:15
标题: 谁能分析下为什么单例模式只能产生一个实例
谁能分析下为什么单例模式只能产生一个实例
作者: cyr    时间: 2015-5-7 12:36
因为类变量在类被加载是加载,而且只加载一次。
作者: V_nan    时间: 2015-5-7 12:53
单例设计模式是为了使一个类在内存中只存在一个对象
为了保证只有一个对象,就得保证其他程序不能创建该类对象,就将该类的构造函数私有化,,然后在本类创建一个对象,提供一个方法可以使外部程序获取该类对象
  1. class SingleDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 Single s = Single.getInstance();
  6.         }
  7. }
  8. class Single
  9. {
  10.         private Demo(){}//将构造函数私有化,控制其他程序创建该类对象
  11.         private static final Single s = new Single();//在本类中建立一个对象,
  12.         public static Single getInstance(s)//对外提供一个方法,使外部程序可以获取本类对象
  13.         {
  14.                 return s;
  15.         }
  16. }
复制代码


作者: bztf    时间: 2015-5-7 13:36
很多时候都会用到单利设计模式,是为了让程序更符合面向对象编程的思想。
Runtime就是单利设计模式。他不可能有两个对象,在API中是这样的,你自己想象也是不可能出现两个对象的。
作者: 907888614    时间: 2015-5-7 17:51
因为私有了对象。返回的都是一个地址值指向了那个对象。
作者: ReadCode    时间: 2015-5-7 17:55
new的对象只有一个,并且在内存中只产生一个地址值,所以说,单例只能产生一个实例~
作者: !85684009ex    时间: 2015-5-10 09:47
因为只能调用特点的静态方法!静态方法只创建一个对象!无论创建多少次都是一个类的对象!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2