属性的基础知识
属性是表示Bean内部状态的性质,它是Bean结构中的数据部分。
通过属性,Bean可以接受不同的值,它反过来又影响了Bean的外观和行为。
创建一个Bean的过程很大程度上是定义Bean支持的各种属性并指定它们的值的过程。
JavaBean的属性可以是Java中的基本数据类型,如int,float等,也可以是String等对象,甚至还可以是各种自定义的类或接口。
属性不仅是表示Bean内部状态的信息,它还应该具有在值被改变时,改变bean的外观或形为的能力。
JavaBean中的属性共有四种属性类型:分别是单值属性、索引属性、绑定属性和限制属性。
属性和访问
属性是一个bean的数据部分,所以对这些属性的访问就非常重要。
对属性的访问是JavaBean API最主要的功能。
属性可以通过一种非常简单和直接的技术进行管理:使用访问者(accessor)方法。
(1)getter方法和setter方法
负责读取bean属性值的访问者方法称为getter方法;负责写入负责属性值的方法称为setter方法;
(2)使用accessor访问方法
在JavaBean规范中约定:
获取一个属性值的getter方法以get开头,其后接属性名
设置一个属性值的setter方法以set开头,其后接属性名
单值属性/布尔属性
JavaBean属性有四种类型,它们的区别在哪里?
单值属性(Simple Property)是JavaBean中最普通的属性,只需定义一个包含一个值的数据成员,并为其定义一对getter/setter方法,以便外部程序可以对其进行访问。
单值属性的accessor方法的定义形式如下:
public void set<属性名>(<属性类型> 属性值)
public <属性类型> get<属性名>()
JavaBean为布尔属性的getter方法专门给出了另外一种命名方式:
public <属性类型> is<属性名>()
索引属性
JavaBean API在支持单值属性的同时,还支持索引属性。
索引属性与Java编程中的数组非常类似,它由具有同种数据类型的元素组成,这些元素通过一个整数索引值来访问,因此称为索引属性(Index Property)。
需要两对访问方法来访问索引属性:
一对用于通过索引值获得和设置这个数组中的单一属性;
另一对用于获得和设置整个属性数组,这时是将这个数组看成是一个整体。
访问索引属性的命名模式如下:
//访问整个索引属性的方法
public void set<属性名>(<属性类型>[] 属性值)
public <属性类型>[] get<属性名>()
//访问索引属性中单个值的方法
public void set<属性名>(int index, <属性类型> 属性值)
public <属性类型> get<属性名>(int index)