首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏序列化的实现

隐藏序列化的实现
EN

Stack Overflow用户
提问于 2018-02-03 07:21:03
回答 1查看 64关注 0票数 0

在一周前的一次大学编码任务中,我不得不列出一些用户的列表,这些用户将保存在一个集合(例如ArrayList)中,这些集合应该按需序列化,序列化的实现应该隐藏在特定的接口后面。据我所知,你不允许在接口中实现任何方法(假设Java不存在,也没有8+关键字),所以除了使用抽象类来做这件事之外,我没有任何想法。对于这个任务,有没有什么经典的Java解决方案?那么我该如何实现序列化呢?

EN

回答 1

Stack Overflow用户

发布于 2018-02-03 07:35:41

依赖java.io.Serializable接口是一种经典的方式(但不是排他性的)。

Serializable类的自定义序列化依赖于可序列化类中定义的private方法:

代码语言:javascript
复制
private void writeObject(ObjectOutputStream out) throws IOException;

private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException;

因此,实际上,序列化实现将被隐藏(如私有方法中所定义的),并且类的客户端将只知道类被定义为实现Serializable

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48592251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档