当我阅读 JDK 6.0 的源代码时,我在 ArrayList 中找到了这两个方法。你看他们都是私人的。但是经过搜索,我没有找到任何其他调用它们的方法。我也考虑了本地方法,但仍然找不到。这两个方法似乎是处理 IO 的,但它们从来没有被调用过。
所以,我的问题是,它们是如何工作的?还有其他方法可以调用私有方法吗?
/**
* Save the state of the <tt>ArrayList</tt> instance to a stream (that is, serialize it).
*/
private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException;
/**
* Reconstitute the <tt>ArrayList</tt> instance from a stream (that is, deserialize it).
*/
private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException;