Java 内省技术(Introspector)

来源:互联网 发布:python简历模板 编辑:程序博客网 时间:2024/05/16 05:26

Java 中类的成员变量的访问级别为private ,分别用get 和set来访问和设置这个成员变量的值。

JavaBean 它是一个普通的Java类,用来封装数据,Introspector(内省技术)用来访问Java 类的get 和set 方法(我不认为他们是属性,他们跟普通的方法没什么区别)。

 

/*** * Dog 类 * @author dream * */public class Dog {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getName1(){return this.name;}}


 

public static void main(String[] args) throws IntrospectionException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {Dog dog1=new Dog();dog1.setName("dog1");//根据Dog类实例的字节码对象拿到BeanInfoBeanInfo beans= Introspector.getBeanInfo(dog1.getClass());//拿到Dog类实例中的方法名称以get或set开头的所有方法PropertyDescriptorPropertyDescriptor[] ps= beans.getPropertyDescriptors();//遍历每一个PropertyDescriptorfor(PropertyDescriptor p1 : ps){System.out.println(p1.getReadMethod().invoke(dog1, null).toString());}}


 

原创粉丝点击