说明这个类不希望被外部直接构造,你找找相关的static方法,应该有一个能返回你要的

解决方案 »

  1.   

    一般形式是PeerAdvertisement p=PeerAdv.getInstance();看一下他的静态方法.
      

  2.   

    我记得thinking in java讲static得那章应该讲过构造函数私有得情况应该就是楼上所说得那样吧 设置一个getInstance()的静态方法就可以了
      

  3.   

    class PeerAdvertisement  {
    private PeerAdvertisement () {}
    public static PeerAdvertisement make_PeerAdvertisement() {
      return new PeerAdvertisement();
    }
    }
    这个make_PeerAdvertisement函数就是你所说的instantiator。
      

  4.   

    单例模式,通过一个静态方法返回该类的实例。:
    例: 
    class Chinese
    {
       static Chinese objRef = new Chinese();
       private Chinese(){}
       public static Chinese getInstance()
       {
          return objRef;
       }
       //other methods 
    }外部程序的调用方式:
       Chinese obj1 = Chinese.getInstance();
      

  5.   

    PeerAdvertisement peerAdv = PeerAdv.Instantiator();
      

  6.   

    这样的类一般不允许直接创建,而要使用此类中相应的静态工厂方法 .一般这些工厂方法名为getInstance () 或者valueOf().使用静态工厂方法有以下好处:避免用户重复创建;可以有一个生动好记的名字;隐藏构造的实现。但是他也有一些缺点:和其他函数没有什么不同,不好从文档中辨识。
      

  7.   

    这是一种单态模式,里面应有一个static的method可以返回这个类对象