一尘不染

究竟什么是 JavaBean?

javascript

我认为,我理解“Bean”是具有属性和 getter/setter 的 Java 类。
据我了解,它相当于 C struct。真的吗?

此外, a和常规之间是否存在真正的语法差异? 有什么特殊的定义或一个?JavaBean``class
Interface

基本上,为什么有这个术语?

还有这个Serializable界面是什么意思?


阅读 183

收藏
2022-02-11

共1个答案

一尘不染

JavaBean 只是一个标准

  1. 所有属性都是私有的(使用getters/setters
  2. 公共无参数构造函数
  3. 实现Serializable

而已。这只是一个约定。很多图书馆都依赖它。

关于Serializable,来自API 文档

类的可序列化性由实现 java.io.Serializable 接口的类启用。未实现此接口的类将不会对其任何状态进行序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于识别可序列化的语义。

换句话说,可序列化对象可以写入流,因此可以写入文件、对象数据库等等。

此外,JavaBean 和另一个类之间在语法上没有区别——如果一个类遵循标准,那么它就是一个 JavaBean。

它有一个术语,因为该标准允许库以编程方式处理您以预定义方式定义的类实例。例如,如果一个库想要流式传输您传递给它的任何对象,它知道它可以,因为您的对象是可序列化的(假设该库要求您的对象是正确的 JavaBeans)。

2022-02-11