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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lizf2010 中级黑马   /  2015-7-29 20:12  /  485 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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的时候,是创建了多少个对象呢

2 个回复

倒序浏览
肯定是一个啊,s 是一个静态的Sing类型对象,在Sing类加载进内存的时候初始化创建的,程序运行时只是取到这个对象。
回复 使用道具 举报
palysh 发表于 2015-7-29 21:42
肯定是一个啊,s 是一个静态的Sing类型对象,在Sing类加载进内存的时候初始化创建的,程序运行时只是取到这 ...

嗯,好像明白了,多谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马