黑马程序员_javabean

 

-------------------------------------------------android培训java培训期待与您交流!----------------------------------

一、概述

1.JavaBean是一种特殊的Java类,主要用于传递数据信息,这种java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。

2.如果要在两上模块之间传递多个信息,可以将这些信息装到一个JavaBan中,这种JavaBean的实例对象通常称之为值对象(Value Object,简称VO)。这些信息在类中用私有字段来存储,如果读取或设置这些字段的值,则需要通过一些相应的方法来访问。JavaBean的属性是根据其中的setter和getter方法来确定的,而不是根据其中的成员变量。去掉set和get前辍,剩余部分就是属性名,如果剩余部发的第二个字母是小写的,则把剩作部分的首字母改成小的。

例如:

setId()属性名-->id

isLast()属性名-->last

setCPU属性名-->CPU

getUPS属性名-->UPS

总之,一个类被 当作javaBean使用时,javaBean的属性是根据方法名推断出来的,它根本看不到java类内部的成员变量。

3.作用

1)在JavaEE开发中,经常要使用到JavaBean。很多环境就要求按JavaBean方式进行操作,别人都这么用和要求这么做,那你就没什么挑选的余地!

2)JDK中提供了对JavaBean进行操作的一些API就称为内省。

 

public class PropertiesTest {

    public static void main(String[] args) throws Exception {

        People p=new People();

        p.setName("Em");

        //属性描述符-->简单

        PropertyDescriptor pd=new PropertyDescriptor("name", p.getClass());

        //获得Get方法

        Method methodGet=pd.getReadMethod();

        System.out.println(methodGet.invoke(p));

        //获得set反射方法

        Method mSet=pd.getWriteMethod();

        mSet.invoke(p, "Gm");

       

        System.out.println(p.getName());

       

        //内省Introspector

        BeanInfo beanInfo=Introspector.getBeanInfo(p.getClass());

        PropertyDescriptor[] pdes=beanInfo.getPropertyDescriptors();

        for (PropertyDescriptor pde : pdes) {

            if(pde.getName().equals("name"))

            {

                //获得Get方法

                Method methodGet1=pd.getReadMethod();

                System.out.println(methodGet.invoke(p));

                //获得set反射方法

                Method mSet1=pd.getWriteMethod();

                mSet.invoke(p, "Em");

               

                System.out.println(p.getName());

            }

        }

       

       

    }

}

class People

{

    private String name;

    private int age;

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public int getAge() {

        return age;

    }

    public void setAge(int age) {

        this.age = age;

    }

   

}

-------------------------------------------------android培训java培训期待与您交流!----------------------------------

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值