关于序列化和反序列化的几点总结
1.类中聚合了其他未实现序列化接口的类对象(此对象已实例化的情况下)时候,不能序列化,会运行时异常。
2.父类未实现序列化接口并不影响子类的序列化
3.transient修饰的变量不能被自动序列化,它只能修饰变量,不能修饰方法和类。(反序列化时候会初始化为初值,int 为0,引用为null等)
4.静态变量也不能被序列化,读到的值其实为当前实际的值。
5.对3和4的补充,3、4针对的是实现serializable接口而言的,若是externalizable的话,是可以手动完成它们的序列化的。
6.针对2补充,子类在反序列化时候,不调用自己的构造函数,但若父类未实现序列化接口,则会去调用父类无参构造函数,若父类没有无参构造函数,则会运行时异常。
题目参看:25 125 189 218
width="738" height="523" class="preview-iframe" scrolling="no" frameborder="0" src="http://download.csdn.net/source/preview/6556627/5d9c807bf65e8fbfac54d862b675fa0e">