A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓士林 高级黑马   /  2015-1-19 23:35  /  658 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 邓士林 于 2015-1-19 23:36 编辑
  1. 晚上学习序列化,看api总结<div class="blockcode"><blockquote>/*
  2. 当改变此类的结构时,那么序列化文件中存储的对象就不能使用,原因序列化的UID已经发生改变。
  3. 我们可以设置类的UID,防止对成员修改导致崩溃。
  4. 注意:
  5. 1、序列化是采用一个serialVersionUID来关联类
  6. 2、序列号在反序列化中验证对象的发送者和接受者是否对应。如果不对应,导致InvalidClassException
  7. 3、可序列化类通过声明serialVersionUID字段(必须是static、final、long类型字段)显示声明自己的serialVersionUID
  8. 4、如果未显示声明,则序列化运行时,系统基于该类的成员进行计算该类的serialVersionUID,因此建议显示声明,并且为private
  9. 5、不能序列化静态成员,只能序列化堆内存中的成员。若果要对不是静态成员序列化,可加transient
  10. */
  11. import java.io.*;
  12. class Person implements Serializable
  13. {
  14.         private static final long serialVersionUID = 42L;
  15.         String name;
  16.         int age;
  17.         Person(String name,int age)
  18.         {
  19.                 this.name = name;
  20.                 this.age = age;
  21.         }
  22.         public String toString()
  23.         {
  24.                 return this.name + " ..." + this.age;
  25.         }
  26. }
复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马