【发布时间】:2012-08-30 02:54:24
【问题描述】:
当我阅读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;
【问题讨论】:
-
您可以随时尝试编辑方法以引发异常,然后查看堆栈跟踪以了解它们是如何被调用的。
-
@MattBall 谢谢!顺便说一句,另一个问题。本机方法可以调用私有方法吗?
标签: java serialization java-custom-serialization