说到transient时提到的

解决方案 »

  1.   

    transient的变量是不会被serialzied的.
      

  2.   

    类可串行化要实现serialzied接口,这个接口没有任何方法。主要就是告诉编译器这个类的对象是可以序列化的,所谓序列化就是可以把对象通过某种规则变成字符或字节序列可以通过IO读写。这样就可以在网络化上传输类对象了。
    而加了transient的对象实例域是不会被编译器序列化的,因为某些实例域可能不需要用这样可以减小传输资源消耗。
      

  3.   

    是Serializable接口,没有serialzied接口。
      

  4.   

    可写入对象流的对象称为可串化的,可串化对象都继承了java.io.Serializable接口,这是一个记号接口。
    当一个对象被储存时,对象的类名、类的签名、实例变量的值都被储存,但是静态变量不会被储存。
    如果对象中含有不能被串化的实例数据域,必须将该数据域声明为transient才能使得自身可串化。
    一个对象第一次被储存时,对象的完整内容及序列号都会被保存,之后再存储该对象,仅仅写入序列号
      

  5.   

    3楼很详细了,java.io.Serializable表示该类可序列话的,那么其中的所有非静态属性都要求可序列化的,但是如果以前定义了一些没有序列化的类而又被该类引用时,就需要在前面加transient关键字了,否则会报异常。