如果一个类似的问题已经发布在stackoverflow上,请发布链接。为什么它需要将类标记为可序列化?
对需要序列化的对象实现Serializable接口(无方法)需要什么? Java API说 - - 如果未实现,则会抛出java.io.NotSerializableException。
这是因为在ObjectOutputStream.java
............................
writeObject0(Object obj, boolean unshared){
.............
} else if (cl.isArray()) {
writeArray(obj, desc, unshared);
} else if (obj instanceof Serializable) {
writeOrdinaryObject(obj, desc, unshared);
} else {
throw new NotSerializableException(cl.getName());
}
................
下面的代码,但我的问题是,为什么它要实现Serializable,从而通知或告知的Java/JVM一个类可以被序列化。 (只是为了避免这种例外吗?)。
在这种情况下,如果我们编写一个类似的功能,将对象写入流而不检查类是否在一个instanceOf Serializable中,类的对象是否会实现Serializable序列化?
任何帮助表示赞赏。
Dupe of http://stackoverflow.com/questions/441196/why-java-needs-serializable-interface – 2009-05-18 15:03:31
[This question](http://stackoverflow.com/questions/441196/why-java-needs- serializable-interface)对此有一些很好的答案。 – jwoolard 2009-05-18 14:47:58