众所周知,序列化和反序列化可以是实现对象的深拷贝。但最近遇到一个问题,详细如下:
我有一个父类A和它的子类B,A中有许多私有化的属性,但其getset是public,B都是public。
我从前端传进来数据,一部分设置到了A上一部分在B上,第一个疑问:我接收对象是B类,那么需要A接收的数据保存了吗?怎么保存的?有没有A这个对象?
之后我需要深拷贝B1对象存到进行一定操作,我使用了序列化方法,但是序列化的结果是我读取不到A类中保存的属性。但我可以把B1转成json再转回来B2可以读取到A中的数据。而我又尝试实现了cloneable接口的clone()方法,也可以读取A的数据。那么请问json方法和clone方法是读取了什么对象得到的数据,是否也拷贝了一份新的A类对象。
请大神帮忙。