在注解引入后,为什么Java没有用@Serializable注解替代Serializable呢?
在注解引入后,为什么Java没有用@Serializable注解替代Serializable呢?
注解不会被继承,但Serializable接口会被继承。这意味着,删除Serializable接口可能会破坏兼容性,并且可能无法使用注解替换它,因为它们的行为不同。
另一个区别是您可以编写:
void method(Serializable s)
但是您不能对注释执行相同的操作,尽管ObjectOutputStream.writeObject在任何情况下都需要一个对象
。
Serializable不是唯一一个可能被弃用的东西,但是为了向后兼容而没有被弃用。