JavaBean 是一种特殊类型的Java类,您可以通过几种有趣的方式来简化程序开发。一些bean被设计成可视化组件,可以在图形用户界面(GUI)编辑器中使用,以快速构建用户界面。简而言之,JavaBean是任何符合以下规则的Java类: 它必须有一个空的构造函数
- - 即不接受任何参数的构造函数。如果这个类根本没有任何构造函数,那么它就具有资格,因为默认的构造函数没有参数。但是,如果类至少有一个接受一个或多个参数的构造函数,那么它也必须有一个没有参数的构造函数作为JavaBean。 它必须没有
- public
实例变量。
由类定义的所有实例变量必须是 私人或
保护。
它必须提供名为 - get
属性 和
设置属性 的方法来获取和设置类提供的任何
属性 除了使用 的布尔
属性属性
来获取属性值。 属性 不是官方的Java术语。简而言之(或者应该是 在beanpod ?中),属性是可以通过get方法检索的对象的任何值(或 是方法,如果属性是
布尔值)或用
设置方法设置。例如,如果一个类有一个名为
lastName的属性,它应该使用名为
getLastName的方法来获取姓氏,使用
setLastName来设置姓氏。或者,如果该类具有一个名为
可设置的的
布尔值属性,则将其设置的方法称为
setTaxable,检索它的方法是
isTaxable。
<!注意,一个类不一定要有任何属性作为JavaBean,但是如果有的话,必须根据这个命名模式来访问属性。此外,并非所有属性都必须同时具有
和
set
访问器。
只读属性
可以只有一个 获取 存取器,而一个
只写属性
可以只有一个 集 存取器。
属性名称在访问它的方法中是大写的,但属性名称本身不是。因此,
setAddress
设置名为
地址
的属性,而不是
地址
。
就是这样。更高级的bean也可以具有其他的特性,为它们提供了一个可视化界面,以便它们可以在集成开发环境(IDE)中使用拖放式样式。另外,一些bean实现了一个接口,允许将它们的状态写入输出流,以便稍后重新创建它们。但是这些功能是可选的;任何符合这里所述的三个标准的类都是一个bean,并且可以在JSP页面中用作一个bean。
你已经看到很多有类似于
getCount和
setStatus
的方法的类。这些名称是名为
访问器模式
的设计模式的一部分。因此,在本书中你已经看到了很多bean的例子,你可能已经自己编写了许多bean类。任何符合这种模式的类都是一个bean。没有必须扩展的 JavaBean 类;也没有
Bean
接口,你必须实现创建一个bean。所有的班级必须做的是一个豆坚持的模式。