MyPackage obj = new MyPackage();
obj.name = "name1";
out.writeObet(obj);
obj.name = "name2";
out.writObject(obj);
server输出 name 时 发现输出两个“name1”这是为什么?
如果
obj = new MyPackage();//加上这句
obj.name = "name2";
再write 就输出正常
"name1"
"name2"
MyPackage obj = new MyPackage();
obj.name = "name1";
out.writeObet(obj);
obj.name = "name2";
out.writObject(obj);
server输出 name 时 发现输出两个“name1”这是为什么?
如果
obj = new MyPackage();//加上这句
obj.name = "name2";
再write 就输出正常
"name1"
"name2"
第一个不正确 说明 第二次修改name值没有成功 ,没有访问到 同一个对象的 name 属性,可以试试 get set 方法访问
第二个正确是因为 write 的对象已经是一个新的对象了
这个的问题主要出在 write 方法内部实现 需要查看源码