在" Layman"术语我想知道是否有人可以向我解释导入Serializable类以实现java.io.Serializable接口的重要性和一般重要性。 从java学生那里询问
答案 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?
我希望有所帮助!