-------<a href="http://www.itheima.com/"">android培训</a>、<a
href="http://www.itheima.com/" ">java培训</a>期待与您交流!----------
JavaBean类:
在Java中有一种特殊的类,它用于程序中两个模块的信息交换。它的特点是将成员变量私有化。用getter和setter方法获取设置其成员变量的值。
一个简单的JavaBean类。
public class dog{
private String name=“旺财”;
private int age=2;
public void setName(String name){
this.name=name
}
Public void setAge(int age){
this.age=age;
}
Public String getName()
return name;
}
Public String getAge()
return age
}
当我们用反射技术去获取或设置JavaBean类的字段时,一般方式如下面代码:
很显然这做很繁琐麻烦。要知道在开发中会有很多的JavaBean类。如果都用这种原始的方式,oh my god.所以sun公司提供了一套对于JavaBean类反射的API来简化我们的操作。使用这套API来操作JavaBean类,就叫做內省。
以下代码来演示根据sun公司提供的API內省步骤。
方法一:
方法二:
由于程序猿觉得sun公司提供的API进行內省操作还是觉得麻烦(不要怪程序猿们太懒,懒也是推动世界进步的一种动力嘛)一个开源组织就又开发了一套API,来更简便的进行內省操作,以下代码演示用这种API进行的内省操作。
用这种方式内省必须要导入两个第三方jar包:BeanUtils和logging。
具体代码如下
有没有震撼于它的简洁啊。Sun的API跟他比简直弱爆了。而且它不但简洁还帮我们省去了类型转换的工作。
BeanUtils.getProperty(d, "name");返回的是字符串。
BeanUtils.setProperty(d, "name", "小嘿嘿");设置的值不管是什么类型都可以是用字符串形式进行传入。因为在javaWeb开发时,我们都是从网页上获取字符串,将字符串写到网页上,上诉方式取出至于设置值都用字符串形式,免去了我们转换类型的烦恼。
-------<a href="http://www.itheima.com/"">android培训</a>、<a
href="http://www.itheima.com/" ">java培训</a>期待与您交流!----------
Java内省技术