本人做了一个SOCKET的客户端C,有两个方法SEND和RECEIVE,分别用于发送数据和接收数据.
类A已经用NEW创建了一个C的新实例,运行RECEIVE方法;
现在类B要使用SEND方法,但是不能用NEW创建新实例了,因为类C的SOCKET已经和服务器端建立了连接,
如果类B再用NEW的话,SPCKET连接则会中断.
能不能不用NEW,就可以使用类C的SEND呢,这样SOCKET连接不会中断,也可以不断地向服务器端发送数据.

解决方案 »

  1.   

    C做成一个单件,然后用代理的模式A a = new A(C.getInstans());
    B b = new B(C.getInstans());
      

  2.   

    照你这种说法,你的C应该是一种类似单例的方式存在,比如做成静态的,NEW出来以后保存在一个MAP里之类的方法都可以
      

  3.   

    socket的客户端,方法receive用于接收数据,方法send用于发送数据.
    class client{
      void receive{...}
      void send{...}
    }
    类A调用client的receive方法,不间断地接收数据.
    class A{
      void main(String[] args){
        client cli=new client();
        cli.receive();
      }
    }现在另一个类B要使用client的send方法,如果使用new client()的话,则socket连接就会中断.
      

  4.   

    在方法send前加个标志 static
      

  5.   

    加static后使用,会发生NullPointerException 的异常.
      

  6.   

    在方法send前加个标志 static
    B直接调用C.send()
      

  7.   

    datalover(String lover(String loveme)) 按你的办法有异常:java.lang.NullPointerException
      

  8.   

    如果非要这样的话。我看也不用类A类B的了,直接写成public static
      

  9.   

    用interface,A,B各自写自己的send方法