----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
Blog10_1 javaBean
Javabean的基本概念:
(1)javaBean:一种特殊的java类,主要用于传递数据信息,这种java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。
(2)获取和设置属性值的方法命名规则:
获取:get+”变量名(首字母大写)”;
设置:set+”变量名(首字母大写)”。
(3)用途:可以将这些信息封装到一个JavaBean中在各个模块之间,这样使得对类对象属性的操纵更加方便,简化了代码的数量。
(4)特点:一个类被当做JavaBean使用时,也可以当做和普通类一样进行使用。
Blog10_2对 javaBean的简单内省操作
(1) 使一个类变成JavaBean
先使此类的所有成员变量私有化,为这些私有的成员变量提供getXx()和setXx()方法。如下面代码:
public class Point {
private int x;
private int y;
public Point(int x, int y) {
super();
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
(2)使用PropertyDescriptor类来操作Bean对象(此处就用PropertyDescriptor来操作上面的Point类)
获取属性值:
Class c1 = Point.class;
Constructor con = c1.getConstructor(int.class,int.class);
Object obj = con.newInstance(3, 4);
//获取JavaBean的y属性对象,通过修改”x”,”y”可以指定获取属性x
//或y的值
PropertyDescriptor dp = new PropertyDescriptor("y", Point.class);
//用属性对象用方法获取getY()方法对象
Method mg = dp.getReadMethod();
//通过invoke方法让obj对象调用getY()方法
Object retValue = mg.invoke(obj);
System.out.println(retValue);
修改属性值:
Method setMethod=dp.getWriteMethod();
setMethod.invoke(obj, 110);
使用PropertyDescriptor类来操作Bean的步骤:
A. 使用PropertyDescriptor创建对应属性的对象;
B. 通过属性的对象调用获取或设置方法得到方法的对象;
C. 通过相应的方法对象调用invoke方法获取或修改属性值。
Blog10_3对JavaBean的复杂内省操作
此种方式的大体思路是:通过遍历BeanInfo的所有属性的方式来查找和设置某个JavaBean的属性,如下面代码
Class c1 = Point.class;
Constructor con = c1.getConstructor(int.class,int.class);
Object obj = con.newInstance(3, 8);
BeanInfo beaninfo = Introspector.getBeanInfo(c1);
//获取了所有JavaBean的属性
PropertyDescriptor[]pds = beaninfo.getPropertyDescriptors();
for (PropertyDescriptor pd: pds) {
if (pd.getName().equals("x")) {
Method m1 = pd.getReadMethod();
Objectget Obj = m1.invoke(obj);
System.out.println(getObj);
}
}
Blog10_4使用BeanUtils工具包操作JavaBean
(1) 在Eclipse中BeanUtils工具包的导入
A. 所在项目文件右键,建立一个新的文件夹;
B. 把下载的BeanUtils工具包拷贝到此文件夹下;
C. 右键此工具包,点击BuildPath建立工具类的路径。
注意:由于BeanUtils使用到了logging.jar包,故重复上面的步骤导入logging.java包。
(2) 使用BeanUtils工具包获取一个JavaBean中的属性值
通过使用BeanUtils中的静态方法getProperty()获取JavaBean中的对应属性值
代码如下:
Point p=newPoint(2,5);
String resultX= BeanUtils.getProperty(p, "x");
//注意返回类型是字符串
System.out.println(result);
(3) 使用BeanUtils工具包设置一个JavaBean中的属性值
通过使用BeanUtils中的静态方法setProperty()设置JavaBean中对应的属性值代码如下:
//下面代码中要设置的值可以是字符串类型数字,也可以是int类型的//数
BeanUtils.setProperty(p,"y", 100);
String resuleY= BeanUtils.getProperty(p,"y");
System.out.println(resultY);
注意:当一个JavaBean中的属性为复合类型时,使用.(点操作符)访问此类型内部的属性值。
----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
详情请查看: