java中什么是JavaBean

一、概述

我认为,“ Bean”是具有属性和getter / setter的Java类。据我了解,它等效于C结构。真的吗?

另外,bean和常规类之间是否存在真正的语法差异?有没有特殊定义或接口?

基本上,为什么会有一个术语呢?

还什么的Serializable接口是什么意思?

二、详解

JavaBean只是一个标准

  1. 所有私有属性(使用getters / setters)
  2. 一个公开的无参数构造函数
  3. 实施Serializable

而已。这只是一个约定。虽然很多库都依赖它。

关于Serializable,来自API文档:

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

换句话说,可序列化的对象可以写入流,因此可以写入文件,对象数据库,甚至任何东西。

而且,JavaBean和另一个类之间在语法上没有区别-如果一个类遵循标准,则它就是JavaBean。

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

如若转载,请注明出处:https://www.javaidea.cn/article/8318.html

(0)
上一篇 2022年2月7日 上午10:03
下一篇 2022年2月7日 上午10:03

相关推荐

发表评论

您的电子邮箱地址不会被公开。