Java 序列化,在一个序列化的对象中有许多方法是否不好

Java 序列化,在一个序列化的对象中有许多方法是否不好,java,android,Java,Android,有人能告诉我对象的序列化是如何工作的吗。我试着用谷歌搜索,但由于这个原因,我总是在细节上迷路。我只需要知道什么时候序列化一个对象,它的类有私有/公共变量、静态变量和私有/公共方法。所有的东西都被序列化了还是仅仅是变量?比如,如果一个对象有许多方法,这些方法将被序列化以在活动之间传递,这是一个坏习惯吗?只有对象的状态被序列化,换句话说,就是字段。这些方法本身没有序列化。但是,生成的版本号实际上也是状态的一部分,这取决于存在的方法。诚然,你可以通过一个字段来改变这种行为——但这仍然很棘手 就我个人而

有人能告诉我对象的序列化是如何工作的吗。我试着用谷歌搜索,但由于这个原因,我总是在细节上迷路。我只需要知道什么时候序列化一个对象,它的类有私有/公共变量、静态变量和私有/公共方法。所有的东西都被序列化了还是仅仅是变量?比如,如果一个对象有许多方法,这些方法将被序列化以在活动之间传递,这是一个坏习惯吗?

只有对象的状态被序列化,换句话说,就是字段。这些方法本身没有序列化。但是,生成的版本号实际上也是状态的一部分,这取决于存在的方法。诚然,你可以通过一个字段来改变这种行为——但这仍然很棘手

就我个人而言,我强烈建议不要使用Java二进制序列化—它最终会非常难以管理向后和向前兼容性。还有很多其他的序列化框架可用,它们通常需要比Java序列化多一点的工作来开始,但最终更易于移植和维护。就我个人而言,我很喜欢,但我有偏见:)

只有对象的状态是序列化的——换句话说,字段。这些方法本身没有序列化。但是,生成的版本号实际上也是状态的一部分,这取决于存在的方法。诚然,你可以通过一个字段来改变这种行为——但这仍然很棘手


就我个人而言,我强烈建议不要使用Java二进制序列化—它最终会非常难以管理向后和向前兼容性。还有很多其他的序列化框架可用,它们通常需要比Java序列化多一点的工作来开始,但最终更易于移植和维护。就我个人而言,我是一个粉丝,但我有偏见:)

也许会有所帮助。你也有类似的问题。也许会有帮助。你也有类似的问题。谢谢,有道理。我只是想确保,在使用serialVersionUid时,若我向类中添加30个方法,它不会使序列化变得复杂或耗时consuming@Snake:它不会更改存储的数据,不。谢谢,有意义。我只是想确保,在使用serialVersionUid时,若我向类中添加30个方法,它不会使序列化变得复杂或耗时consuming@Snake:它不会更改存储的数据,不会。