序列化对象存储什么信息?

时间:2014-12-20 21:06:17

标签: java serialization deserialization

我一直在研究一个程序,我不知道我可以用通过反序列化文件检索的对象做什么。

我可以说

  retrievedObject.MethodInClass()

上面会编辑检索到的对象吗?

当对象被序列化时,它是仅存储参数还是存储结果。例如,它从下面的代码中存储了什么

int i;
int j;
int k
public setNumber(int i, int j){ // where i is 2 and j is 3
this.i = i
this.j = j }
k = i+j:

它将k存储为5还是null?

1 个答案:

答案 0 :(得分:2)

序列化对象时,它会存储该对象中的类和字段值。

它不存储与方法有关的任何内容(如果忽略serialVersionUID)

  

当对象被序列化时,它是仅存储参数还是存储结果。

例如,这两种方法都不会改变序列化时对象存储的内容。

public setNumber(int i, int j){ // where i is 2 and j is 3
  int a = i;
  int b = j; 
  int c = i+j:
}
  

例如,它从下面的代码中存储了什么

它存储字段ijk

  

它将k存储为5还是null?

int是一个原语,因此它不能是null。如果k5,则会存储此信息,您调用的方法5将无关紧要。