0

在使用 RMI 编组从远程类返回的对象的 java 中,您只需要在该对象上实现 Serializable 吗?我有一个类节点,里面有我想要返回的变量。我只是实现可序列化吗?如果是这样,接收对象的类呢?它的类是否也需要实现可序列化?

例子:

public class node implements Serializable{
//variables
//variables
public node(//arguments to constructor here){

}

}
4

3 回答 3

0

如果你有一个类,你想使用内置的 Java 序列化来序列化它的实例,那么它不仅必须实现Serializable,它的所有实例变量也必须实现Serializable,或者是原语,或者被标记transient(即你告诉 JVM 这对他们来说没问题不被序列化)。

如果您的类由于某种原因不能符合这些约束,您可以通过实现自己实现自定义序列化行为Externalizable- 然后您负责写出对象的状态并在另一端读回它。

于 2013-10-31T22:17:17.563 回答
0

被序列化的类需要实现 Serializable。发送和接收类没有。不知道你为什么会这么想。

于 2013-10-31T22:12:45.657 回答
0

我不确定我是否正确理解了你的问题,但是......如果可序列化类有其他对象作为成员变量,那么最好让它们也可序列化,否则最好声明为瞬态跳过。这回答了你的问题了吗?

如果代码检查器程序很方便,您可以非常快速地回答此类问题而无需发布它

对于您的提示,只有您想要持久化或传输的对象需要实现 Serializable,因此可以通过序列化/反序列化将对象重构为类结构

于 2013-10-31T22:19:56.683 回答