在客户端每次readObject()后,都执行:
A a = (A) objectInputStream.readObject();A类就是要传递的类,a则每次都从objectInputStream中read出来的对象得到。
然后再执行a的get方法,如 a.getName();
但结果每次a.getName()都是服务端第一次setName()所set的值。
A a = (A) objectInputStream.readObject();A类就是要传递的类,a则每次都从objectInputStream中read出来的对象得到。
然后再执行a的get方法,如 a.getName();
但结果每次a.getName()都是服务端第一次setName()所set的值。
oos.writeObject(obj);obj就是A类的一个实例,每次在服务端writeObject前,执行obj的set方法,
如:
第一次 obj.setName("Tom");
第二次 obj.setName("Petter");
...但从客户端得到的只是第一次set的"Tom".
obj = new A();
obj.setName("Petter");
os.writeObject(obj);
如果用a = obj;则在传递a的时候,应该得到的是obj的地址,传递给客户端每次都从这一个地址上读取,结果当然就不对了。