黑马程序员技术交流社区

标题: 单例模式的疑惑 [打印本页]

作者: lizf2010    时间: 2015-7-29 20:12
标题: 单例模式的疑惑
  1. public class Danli {
  2.         public static void main(String[] args) throws IOException {
  3.                 Sing s1 = Sing.getInstance();
  4.                 s1.show();
  5.                 Sing s2 = Sing.getInstance();
  6.                 s1.show();
  7.         }
  8. }
  9. class Sing{
  10.         private Sing(){
  11.         }
  12.         private static Sing s = new Sing();
  13.         public static Sing getInstance(){
  14.                 return s;
  15.         }
  16.         public void show(){
  17.                 System.out.println("hehe");
  18.         }
  19. }
复制代码
单例模式只能创建一个实例对象,但是如上所示,当两次调用Sing的时候,是创建了多少个对象呢
作者: palysh    时间: 2015-7-29 21:42
肯定是一个啊,s 是一个静态的Sing类型对象,在Sing类加载进内存的时候初始化创建的,程序运行时只是取到这个对象。
作者: lizf2010    时间: 2015-7-30 10:50
palysh 发表于 2015-7-29 21:42
肯定是一个啊,s 是一个静态的Sing类型对象,在Sing类加载进内存的时候初始化创建的,程序运行时只是取到这 ...

嗯,好像明白了,多谢




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