编译器如何知道哪个类需要序列化

时间:2013-05-14 11:22:50

标签: java

如果我将一个类声明为可序列化的,那么编译器如何知道这个类只需要使用Serializable关键字进行序列化。

public class Domain implements Comparable<Domain>, Serializable{

}

3 个答案:

答案 0 :(得分:3)

编译器不会序列化您的类,您需要编写代码来将您的对象写入/读取到输出流。如果您尝试序列化的类没有实现接口,则jvm将抛出运行时错误。

只要通过实现Serializable接口将类标记为Seriablizable,JVM就会将其视为可序列化类。 Serialzable是标记接口,这意味着当您将此接口添加到类时,不需要实现任何方法。标记接口由JVM专门处理,只是为了标记该类是可序列化的。

答案 1 :(得分:0)

当您实际从流中读取对象或从中读取对象时,将进行序列化。在此之前,实现Serializable的事实毫无意义。

答案 2 :(得分:-1)