-------------------------------------------------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培训期待与您交流!----------------------------------