序列化与反序列化 小记

1、序列化时并不会序列化static属性、transient属性。因为这两个属性代表类的状态,所以不会被序列化;

2、序列化生成对象的时候,不会调用类的任何构造函数;

使用反射生成类的时候有两种方式

a、Class.newInstance() 只能够调用无参的构造函数,即默认的构造函数;

b、Constructor.newInstance() 可以根据传入的参数,调用任意构造构造函数。

使用反序列化生成的时候

ObjectStreamClass.newInstance()   不会调用构造函数

创建对象的几种方式可参考:

http://www.cnblogs.com/yunger/p/5793632.html

原文地址:https://www.cnblogs.com/chenhao0302/p/10137068.html