Java的Serializable序列化接口的readObject和writeObject方法
2013-06-09 15:11
561 查看
以前关于readObject()和writeObject()理解不深,不明白为什么两者要是private的。网上的很多文章都直接讲它们怎么用,没有清楚阐明其道理。
这篇文章很好的回答了这个问题:http://www.javablogging.com/what-are-writeobject-and-readobject-customizing-the-serialization-process/
这里是对该文章的中文翻译:http://bluepopopo.iteye.com/blog/486548
简单而言:readObject()和writeObject() 既不存在于java.lang.Object,也没有在Serializable中声明。那么ObjectOutputStream如何使用它们的呢?原来,ObjectOutputStream使用了反射来寻找是否声明了这两个方法。因为ObjectOutputStream使用getPrivateMethod,所以这些方法不得不被声明为private以至于供ObjectOutputStream来使用。
这篇文章很好的回答了这个问题:http://www.javablogging.com/what-are-writeobject-and-readobject-customizing-the-serialization-process/
这里是对该文章的中文翻译:http://bluepopopo.iteye.com/blog/486548
简单而言:readObject()和writeObject() 既不存在于java.lang.Object,也没有在Serializable中声明。那么ObjectOutputStream如何使用它们的呢?原来,ObjectOutputStream使用了反射来寻找是否声明了这两个方法。因为ObjectOutputStream使用getPrivateMethod,所以这些方法不得不被声明为private以至于供ObjectOutputStream来使用。
相关文章推荐
- Java序列化之readObjectNoData、readResolve方法
- Java序列化之readObjectNoData、readResolve方法
- java 对象序列化与反序列化 FileInputSteam.readObject,writeObject
- 【Java面试题】45 什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。
- 什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用
- 关于Java中Scanner对象的hasNext()方法对实现Readable接口的对象中的read()方法调用的探讨
- Serializable 接口与 Java 序列化与反序列化
- 用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在COLLECTION框架中,实现比较要实现什么样的接口?
- java为什么只有实现了Serializable接口才可以序列化
- 什么是java序列化,如何实现java序列化?或请解释Serializable接口的作用
- 什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。
- java序列化接口Serializable的使用
- java.io.Serializable(序列化)接口详细总结
- 错误: java.io.NotSerializableException: net.sf.json.JSONObject 的解决方法
- Java中序列化接口Serializable接口的作用
- 关于Java中Scanner对象的hasNext()方法对实现Readable接口的对象中的read()方法调用的探讨
- Java中实现序列化的两种方式 Serializable 接口和 Externalizable接口
- Java 可序列化接口Serializable总结
- Java序列化Serializable初识(2)——与SignedObject结合使用
- java的序列化或Serializable接口的作用