java.io.Serializable类有什么意义?

时间:2011-04-02 01:40:21

标签: java serialization

在" Layman"术语我想知道是否有人可以向我解释导入Serializable类以实现java.io.Serializable接口的重要性和一般重要性。 从java学生那里询问

2 个答案:

答案 0 :(得分:14)

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序列化程序可以序列化此类对象。如果您的类没有实现此接口,则序列化程序将拒绝序列化该类型的任何对象。

答案 1 :(得分:4)

您可以在Java Serialization Specification

中找到有关Java序列化的所有信息

Java Serialization FAQ也包含您问题的答案。

具体来说,第一个问题似乎与您提出的问题相同:

Why must classes be marked serializable in order to be written to an ObjectOutputStream?

我希望有所帮助!