打字猴:1.70043943e+09
1700439430
1700439431 (4)变更传输契约
1700439432
1700439433 例如改用XML传输,或者重建一个Web Service服务。可以做,但成本太高。
1700439434
1700439435 可能有读者会说了,你都在说别人的方案不好,你提供个优秀的方案看看!好的,这就展示一个优秀的方案。其中,实现了Serializable接口的类可以实现两个私有方法:writeObject和readObject,以影响和控制序列化和反序列化的过程。我们把Person类稍做修改,看看如何控制序列化和反序列化,代码如下:
1700439436
1700439437 public class Person implements Serializable{
1700439438
1700439439 private static final long serialVersionUID=60407L;
1700439440
1700439441 //姓名
1700439442
1700439443 private String name;
1700439444
1700439445 //薪水
1700439446
1700439447 private transient Salary salary;
1700439448
1700439449 public Person(String_name, Salary_salary){
1700439450
1700439451 name=_name;
1700439452
1700439453 salary=_salary;
1700439454
1700439455 }
1700439456
1700439457 //序列化委托方法
1700439458
1700439459 private void writeObject(java.io.ObjectOutputStream out)throws IOException{
1700439460
1700439461 out.defaultWriteObject();
1700439462
1700439463 out.writeInt(salary.getBasePay());
1700439464
1700439465 }
1700439466
1700439467 //反序列化时委托方法
1700439468
1700439469 private void readObject(java.io.ObjectInputStream in)throws IOException, Class-
1700439470
1700439471 NotFoundException{
1700439472
1700439473 in.defaultReadObject();
1700439474
1700439475 salary=new Salary(in.readInt(),0);
1700439476
1700439477 }
1700439478
1700439479 }
[ 上一页 ]  [ :1.70043943e+09 ]  [ 下一页 ]