private Single(){}//这个放这里有什么用?这是一个构造器。

解决方案 »

  1.   

    这个例子说明,这种类型的类只能有一个实例,这个实例在创建这个类的时候已经创建好了,你不可能再创建实例,因为创建实例必须使用new()来调用该类的构造函数,而现在它的构造函数规定为private,就不能通过new()来调用,也就不能创建实例(对象)了,它通过getSingle()来返回创建类时创建的那个唯一的对象。所以s2和s1事实上是完全一样的——因为他们都是那个“唯一的对象”,所以他们不仅“equal”,而且“==”
      

  2.   

    构造器私有,使之调用这个类的客户程序不能用new得方法创建实例。
    只能用你提供的getSingle()方法得到这个类的唯一实例。
    所以你的singlton模式成功了!!
      

  3.   

    不能随便的new 这个Single对象,而只能通过getSingle方法得到对象,这样就保证了此Single对象在内存中的唯一性,这就是之所以叫做“单态性”得原因了阿!!