为什么LinkedList中的方法writeObject是私有的但从未被调用过?

时间:2013-12-06 10:30:26

标签: java

在LinkedList类中,writeObject和readObject是私有的,但从不调用,为什么以及如何在Java中调用它们?

我找到了答案,Java反思这样做。

3 个答案:

答案 0 :(得分:4)

该方法由java的序列化机制使用。因此,当您序列化对象时,jvm会调用write方法。反序列化对象时会调用readMethod。

请参阅writeMethodreadMethodSerializable界面的文档。

答案 1 :(得分:1)

试试这个

LinkedList list = new LinkedList();
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("xxx"));
oos.writeObject(list);  <-- writeObject will be called here
oos.close();

ObjectInputStream oos = new ObjectInputStream(new FileInputStream("xxx"));
oos.readObject(list);  <-- readObject will be called here

答案 2 :(得分:0)

在对象序列化期间使用这些方法。

LinkedList实现了可序列化的接口(标记接口),并为读取和写入列表对象提供了自定义实现。