开发人员必须通过显式使用来“选择”使类可序列化SerializableAttribute
。如果类默认是可序列化的,会出现什么问题?
我假设默认情况下类是不可序列化的,因为无法保证使用反射将对象的状态转储到流中是否有意义。如果您的对象拥有与数据库或通信端口的开放连接怎么办?每当通过反序列化前一个对象的实例来构造新对象时,您最终都会得到一个无用的对象。
另外,您必须考虑到,只要一个类是可序列化的,运行时就坚持它的所有成员变量也可序列化,除非它们被明确标记为其他。选择可序列化要容易得多in为开发人员提供功能,而不是强迫他们选择out某些成员。
最后,您的类中可能有某些字段包含私人或敏感信息。必须将类显式标记为可序列化可确保您不会意外地将某些内容的详细信息(无论是数据还是您的实现)暴露给您不想公开的世界。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)