因为我们可以通过重写writeObject()和readObject()来覆盖默认的序列化过程,那么Externalizable接口的需求是什么?为什么我们有Externalizable当我们可以覆盖java中的writeObject和readObject
10
A
回答
3
类实施Serializable
可以或可能不希望改变,其中该类的实例,写入到该流的格式。
但是,类实现Externalizable
必须从流实施writeExternal
和readExternal
方法,其类的责任到写和恢复的数据/。
+1
恐怕这不会回答这个问题...... – Shinchan
-1
可串行化接口是用于获取自动序列化功能的工具,但如果您想提供自己的序列化逻辑(自定义逻辑),您可以使用Externalizable接口,但是可以使用。 Externalizable接口包含两个方法,您必须执行的是readExternal()和writeExternal()。
如果你实现Serializable接口,包括所有基类(超类)的状态在内的所有事情都由默认(自动)序列化过程来处理。
+0
您可以通过覆盖readObject和writeObject方法来定制逻辑。 – abhihello123
相关问题
- 1. Java中的Serializable - writeObject()/ ReadObject和Externalizable - readExternal()/ writeExternal()有什么区别?
- 2. 序列化 - readObject writeObject覆盖
- 3. 我们为什么不能覆盖Java中的变量
- 4. 当我们有.java文件可用时,为什么我们需要JSP文件?
- 5. 为什么我们应该重载/覆盖新的和删除?
- 6. 为什么我们需要analysis_export当我们有analysis_port
- 7. 当我们有点子时,为什么我们需要Anaconda?
- 8. 为什么我们可以与IDM
- 9. 我们为什么可以在VB
- 10. 当我们覆盖cv :: Mat.data时发生了什么
- 11. 当我们可以抛出TypeErrors时,为什么我们需要NaN值?
- 12. 为什么我们需要filebeat当我们可以将日志发送到Logstatsh
- 13. 为什么我们需要在覆盖方法中调用当前类django
- 14. 为什么我们使用虚拟并覆盖?
- 15. 为什么我们有明确的功能,当我们可以将字符串分配给cpp中的“”时
- 16. 有什么办法,我们可以命名我们的表作为我们的局部变量值(T-SQL)
- 17. 我们可以覆盖datagridview单元格中的文本框值
- 18. 为什么我们有 - Context.getSharedPreferences()和-Activity.getPreferences()?
- 19. 为什么我们应该扩大覆盖方法的可访问性?
- 20. 为什么我们有数组和数组在Java中
- 21. writeObject和readObject如何工作?
- 22. 为什么Serializable接口不需要实现readObject()和writeObject()
- 23. 当我们有Specflow时,为什么我们应该使用编码的UI?
- 24. 如何覆盖的ItemGroup(像我们做什么用的PropertyGroup)
- 25. 为什么WebApi当我们有WCF RESTful服务以及ASP.Net MVC?
- 26. 为什么我们的mysqli
- 27. С++我们可以创建类函数的覆盖吗?
- 28. 蟒蛇我们可以覆盖继承2类的方法
- 29. 我们可以覆盖父网站的web.config吗?
- 30. 什么情况我们可以去pragma_exception_init
你可以用这些方法添加一个'Serializable'类的例子吗? – Jayen