Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单英语中的JavaBeans是什么?_Java_Javabeans_Definition - Fatal编程技术网

简单英语中的JavaBeans是什么?

简单英语中的JavaBeans是什么?,java,javabeans,definition,Java,Javabeans,Definition,在我开始之前,我想让每个人都知道,我确实花了很长时间在谷歌上搜索,找到了很多解释和定义。但即便如此,在花了数小时阅读之后,这个主题仍然显得相当模糊。我知道我必须问一些可以改善社区的问题,但是这个问题只是让我看看我是否对JavaBeans有一个清晰的理解 据我所知,JavaBean基本上是一个类,与任何其他java类一样,只是它遵守某些约定,即: 该类必须实现可序列化 类属性被假定为私有的,它们的名称以小写字母开头 每个属性都必须有各自的getter和setter方法 每个setter方法都以前

在我开始之前,我想让每个人都知道,我确实花了很长时间在谷歌上搜索,找到了很多解释和定义。但即便如此,在花了数小时阅读之后,这个主题仍然显得相当模糊。我知道我必须问一些可以改善社区的问题,但是这个问题只是让我看看我是否对JavaBeans有一个清晰的理解

据我所知,JavaBean基本上是一个类,与任何其他java类一样,只是它遵守某些约定,即:

  • 该类必须实现可序列化
  • 类属性被假定为私有的,它们的名称以小写字母开头
  • 每个属性都必须有各自的getter和setter方法
  • 每个setter方法都以前缀“get”开头,后跟属性名,例如setName()
  • Setter方法是公共的和无效的
  • 这同样适用于getter方法(前缀“get”、public、返回类型以及相应的属性类类型等)
  • 对于布尔属性而不是“get”,使用前缀“is”
  • 严格来说,被认为是“bean”的是类的实例,而不是类本身
你看,经过很长时间的阅读,这就是我能理解的。。。是这样吗?我接近了吗?我是不是完全错了


…谢谢大家的回答,这样我就可以更新这个项目列表了:-)

javabean是一个标准。所有JavaBean都具有以下3个特性:

1) 该类实现了可序列化的

2) 所有字段都有公共setter和getter来控制访问。

3) 一个公共的无参数构造函数。

是的,差不多就是这样

只需几个额外的位:

  • getter不接受任何参数,setter只接受一个与属性类型相同的参数
  • 通过分别省略setter或getter,属性只能读或写
  • boolean
    getter使用前缀“is”

严格地说,我认为这些例子是“豆子”,而不是课堂。

补充了我们同事的答案:

  • 使用addXXXListener方法添加侦听器
  • 使用RemoveXXXLListener方法删除侦听器
  • 布尔(基元)字段应具有isXXX方法,而不是getXXX方法
  • 因为它是一个标准,所以遵循它很重要,因为Java中的库和技术将在幕后使用它。示例:JSP中的表达式语言、GUI构建器等

    规格:

    是这样吗?我接近了吗

    是的,你相对正确。大多数bean都遵循这样的基本定义规则。不过,还有几件事需要补充。为了区分bean和POJO(普通的旧Java对象),bean有一个默认构造函数,通常实现可序列化接口


    这允许您跨许多框架使用基本模型。bean主要用于以简单的布局结构存储和检索数据,因此数据模型可以在整个特定体系结构中共享。示例包括在UI中使用相同的数据触发事件,以处理不同的对话框和/或检索给定ORM(对象关系映射)的结果。您可能需要查看的其他示例包括DTO(数据传输对象)、VO(值对象)和EJB(企业Java Beans)。

    我认为序列化是不必要的。我认为满足标准是必要的;实际上,并非所有情况下都需要运行。@assylias我不确定。但是,至少对我来说,
    Serializable
    or对bean很重要。数据只能在活动/服务之间传输…若它实现了两者中的一个,那个么该标准似乎根本并没有定义JavaBean,尽管它确实声明它定义了JavaBean。非常困惑。似乎没有任何强制元素。事实上,Java Bean可以是序列化文件,而不是类。相关:关于布尔属性getter,您有一个错误:您编写了“set”而不是“is”。它们不是必需的,但如果必须使用,则应遵循标准。至少我在五年前拿到SCJP的时候学过。看一看: