黑马程序员_JavaBean

----------- 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学习型技术博客、期待与您交流! ----------------------

详情请查看:http://edu.csdn.net/heima


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值