http://www.cnblogs.com/gulvzhe/archive/2012/01/27/2330001.html
反射的三步:
1、获得你想操作类的Class对象
2、通过第一步获得的Class对象去取得操作类的方法或是属性名
3、操作第二步取得的方法或是属性, 执行指定对象的方法(如果方法是静态方法,则不需要指定对象),取得属性值或为属性赋值
注意问题:
1、Method method = cla.getMethod("addUser", String.class); //getMethod方法中的参数,第一个参数是方法名, 后面的参数个数是可变的, 是指addUser方法中参数的类型
2、method.invoke(user, "张三"); //invoke方法中的第一个参数是指定的对象, 如果method是静态方法, 则第一个参数为null, 第二个参数是执行此方法需要传递的参数
3、在给对象中的成员变量赋值时, 如果该成员变量是private 时, 则会报Class can not access a member of class User with modifiers "private"
出现这样的问题, 是因为是成员变量是私有的,
解决方法:
field.setAccessible(true); //则指示反射的对象在使用时应该取消 Java 语言访问检查
4、在获得类的方法、属性、构造函数时,会有getXXX和getgetDeclaredXXX两种对应的方法。之间的区别在于前者返回的是访问权限为public的方法和属性,包括父类中的;但后者返回的是所有访问权限的方法和属性,不包括父类的。
5、获取类中的getter, setter方法
BeanInfo beanInfo = Introspector.getBeanInfo(clazz); PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); System.out.println("--------------"); for(int i=0;i<propertyDescriptors.length;i++){ System.out.println(propertyDescriptors[i].getWriteMethod()); System.out.println(propertyDescriptors[i].getReadMethod()); }
相关推荐
给大家分析了Java 反射机制的用途和缺点以及相关知识点内容,有兴趣的朋友可以参考学习下。
主要介绍了Java反射机制(Reflection)浅析,本文以实例讲解Java的反射机制,需要的朋友可以参考下
Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制
声音技术浅析.doc
java组件的浅析
Java内存分析
java 中文乱码浅析及解决方案
java 虚拟机原理浅析,希望大家来交流
Qt事件机制浅析
流行java技术架构浅析借鉴.pdf
java数据类型浅析.ppt
深入Java单例模式浅析,最全面的深入解析
QT信号与槽机制浅析Qt的信号和槽机制是Qt的一大特点,实际上这是和MFC中的消息映射机制相似的东西,要完成的事情也差不多,就是发送一个消息然后让其它窗口响应,当然,这里的消息是广义的 说法,简单点说就是如何在一个类...
高校Java课程教学浅析
JAVA Socket超时浅析 转
浅析Java异常处理机制.pdf
异常处理是Java语言的重要机制,正确、合理地处理异常对系统的健壮性和稳定性提供了强有力的支持。异常的处理主要包括捕捉异常、程序流程的跳转和异常处理语句块的定义等。
本文从底层IPC机制出发,结合UNIX核心系统参数和ATMI技术,借用ipcs观察Tuxedo所消耗的IPC系统资源状况,浅析了Tuxedo强大功能背后的工作原理,进一步加深对Tuxedo应用和ATMI编程的理解,提出了解决实际工作中关键...