public class A
{
  private A() {}
  public newInstance()
  {
     return new a();
   }
}
这样的写法就是只希望产生唯一的实例

解决方案 »

  1.   

    笔误改为:
    public newInstance()
    {
         return new A();
    }
      

  2.   

    笔误改为:
    public A newInstance()
    {
         return new A();
    }
      

  3.   

    public class A
    {
      private A instance =null;
      private A() {}
      public A newInstance()
      {
         if(instance ==null)
            return new A();
         else
            return instance;
       }
    }
      

  4.   

    ggzzkk(蓝色的狮子) 的程序有低级错误,先不用说不合题意
    构造函数是私有的,意味不能用 new 运算符产生该类,虽然提供了getInstance函数取得它的实例,但是这个函数并非静态,就是说必须先有它的一个实例才能调用这个函数,但是实例不能用new 产生
    假如没有以上错误.getInstance 每次都返回一个用new 产生的实例,是不同的实例,并没有保证实例的唯一。
    我看题目所诉并不是为了保证实例唯一,是不让程序员构造实例(他有他的理由)。