gpt4 book ai didi

Java 序列化和 JavaBeans

转载 作者:行者123 更新时间:2023-11-29 09:41:28 25 4
gpt4 key购买 nike

小问题,在将对象标记为可序列化时,它是否需要是 JavaBean?我的意思是,您可以序列化不是 JavaBean 的对象吗?它有什么风险吗?如果您打算序列化对象,总是将对象设为 JavaBean 是一种好习惯吗?

最佳答案

你看错了。 Java Bean 是任何

1) 实现序列化
2) 有一个无参构造器
3) 有私有(private)成员和setter/getter

所以你的问题

marking an object as serializable, does it need to be a JavaBean?

把它倒过来。通过实现接口(interface),任何类都可以是可序列化的。并非所有可序列化类都定义 Java Bean。

I mean, can you serialize an object that's not a JavaBean?

是的。

Is it a good practice to always make an object a JavaBean if you intend to serialize it?

在设计类时考虑数据封装是一种很好的做法。这意味着直接限制对字段的访问,并在适当的地方使用 setter 和 getter。

当然,从 API 的角度来看,拥有一个公共(public)的无参数构造函数并不总是必要的。

如果您要使用依赖于您的类是 Java Beans 的库,您真的只需要遵循 Java bean 标准。

关于Java 序列化和 JavaBeans,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13351969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com