java.io.Serializable 类的意义是什么?

2022-09-04 20:14:39

在“外行”术语中,我想知道是否有人可以向我解释导入Serializable类以实现java.io.Serializable接口的重要性和一般重要性。来自 Java 学生的提问


答案 1

java.io.Serializable就是所谓的“标记界面”。接口本身没有定义任何方法。因此,任何类都可以通过简单地实现它来轻松实现此接口:

 public class MyClass implements Serializable {
       public void aMethodForMyClass() { }

       // not implementing any specific java.io.Serializable methods because
       // the interface has no methods to implement.
 }

它是一个“标记”接口,因为通过实现此接口,您可以告诉 Java 序列化程序可以序列化此类型的对象。如果您的类未实现此接口,则序列化程序将拒绝序列化该类型的任何对象。


答案 2

您需要了解的有关 Java 序列化的所有信息都可以在 Java 序列化规范中找到

Java 序列化常见问题解答还包含问题的答案。

具体来说,第一个问题似乎与你问的一样:

为什么类必须标记为可序列化才能写入 ObjectOutputStream?

我希望这有帮助!