序列化是一种存储对象状态的机制。根据这个定义,我们可以说对象中的实例变量可以序列化。方法是类的行为。
我们可以使用这些方法来设置和获取对象的状态。因此,这些方法与类的实例变量相关。
那么为什么我们不能在Java中序列化这些方法呢?
发布于 2010-07-02 17:04:26
在序列化方法之后,你有什么计划?根据定义,对象的状态必须是它的成员。他们的行为不会出现在画面中。序列化保存的是对象的状态,而不是它的行为。
发布于 2010-07-02 17:16:27
方法总是被序列化:作为类文件中的字节码。实际上,没有必要再次序列化它们。
发布于 2010-07-02 18:45:16
从OOP的角度来看,对象的状态是它的非静态字段的总状态。方法是一种定义对象行为的方法,对该类的所有实例(对象)都是通用的,因此它们被定义为class对象中的字段,而不是对象(实例)本身的字段。因此,序列化对象将存储其状态,从而仅存储其字段,但是如果序列化对象的Class对象,则将序列化这些对象的方法(我认为没有理由让人费心这么做)。
https://stackoverflow.com/questions/3164377
复制相似问题