假设我们在Java中有一个Serializable类,并且我们更改了该类的一个成员和/或其getter或setter的名称(仅名称(,这会导致兼容性错误吗?
重命名字段相当于删除规范中不兼容更改部分下的字段。
不兼容的更改
类的不兼容更改是指无法保证互操作性的更改。在进化一个类时可能发生的不兼容的变化是:
删除字段-如果在类中删除字段,则写入的流将不包含其值。当流被早期的类读取时,字段的值将被设置为默认值,因为流中没有可用的值。但是,此默认值可能会对早期版本履行合同的能力产生不利影响。