Cri*_*lho 1 java serialization javabeans
快速问题,当将对象标记为可序列化时,是否需要成为JavaBean?我的意思是,你能序列化一个不是JavaBean的对象吗?它有风险吗?如果您打算将对象序列化,那么始终将对象设为JavaBean是一种好习惯吗?
hvg*_*des 11
你正在以错误的方式看待它.Java Bean是任何类
1)实现Serializable
2)具有无参数构造函数
3)具有私有成员和setter/getters
所以你的问题
将对象标记为可序列化,是否需要是JavaBean?
让它倒退.通过实现接口,任何类都可以是Serializable.并非所有可序列化类都定义Java Bean.
我的意思是,你能序列化一个不是JavaBean的对象吗?
是.
如果您打算将对象序列化,那么始终将对象设为JavaBean是一种好习惯吗?
最好在设计类时考虑数据封装.这意味着直接限制对字段的访问,并在适当的地方使用setter和getter.
当然,从API的角度来看,并不总是需要公共的无参数构造函数.
如果要使用依赖于Java Bean类的库,则实际上只需要遵循Java bean标准.