在使用RMI编组从远程类返回的对象的java中,您只需要在该对象上实现Serializable吗?我有一个类节点,里面有我想要返回的变量。我只是实现可序列化?如果是这样接收对象的类呢?它的类是否也需要实现serializable?
示例:
public class node implements Serializable{
//variables
//variables
public node(//arguments to constructor here){
}
}
答案 0 :(得分:0)
正在序列化的类需要实现Serializable。发送和接收类没有。不知道为什么你会这么想。
答案 1 :(得分:0)
如果你有一个类要使用内置的Java序列化来序列化它的实例,那么它不仅必须实现Serializable
,它的所有实例变量也必须实现Serializable
,或者是原语,或者被标记为transient
(即告诉JVM他们可以不进行序列化)。
如果您的类由于某种原因无法符合这些约束,您可以通过实现Externalizable
自己实现自定义序列化行为 - 然后您负责写出对象的状态并在另一端读取它
答案 2 :(得分:0)
我不确定我是否正确理解你的问题,但是......如果可序列化的类有其他对象作为成员变量,那么最好也使它们可序列化,否则最好声明为瞬态跳过。这会回答你的问题吗?
如果代码检查员程序很方便,您可以非常快速地回答这个问题,而无需发布
对于你的提示,只有你想要持久或转移的对象需要实现Serializable,所以可以通过序列化/反序列化将对象重建为类结构