今天码代码,遇到了一个很奇怪的问题。就是子类继承了Serializable,父类没有,最后面,子类的数据转为byte[],并存储到数据库,再从数据库出来转为子类对象,发现,父类的变量,值为空!
最后调查,发现结论如下:
1. 如果子类实现Serializable接口而父类未实现时,父类不会被序列化!
2. 如果父类实现序列化,子类自动实现序列化,不需要显式实现Serializable接口。
原因:
这个就跟子类/父类的内存分配有关系了,具体可看如下博文:
http://blog.csdn.net/smithdoudou88/article/details/12756187
http://blog.csdn.net/u011386422/article/details/42582605
本文探讨了当子类实现Serializable接口而父类未实现时,父类变量在序列化过程中的丢失现象,并给出了详细的解释及解决方案。
的区别&spm=1001.2101.3001.5002&articleId=76037341&d=1&t=3&u=0384a25d4722494c91f8641c82ae004a)
896

被折叠的 条评论
为什么被折叠?



