Java反射机制
2016-07-07 14:19
323 查看
通过反射机制查看类信息
两种类型(运行和编译)
当无法确定运行状态时,通过反射机制来查看状态信息
生成的class对象(java.lang.class)可以访问jvm中的这个类。
获得class对象的方式:
1.类型.class 类名.class
2.Class.forname("完整路径+类名");
3.b.obj.getClass(); 通过实例化对象获取类对象
推荐使用类名.class的方式。引用名称通常 Class <类的泛型> xxx= 类型.class ;
从class对象中可以获取很多对象 构造器,方法,成员,内部类等等的方法获取对应的对象
java.lang.reflect包下的对象
注意这里方法可能发生重载因此为了避免混乱会使用泛型来确定参数
创建类实例对象:
newinstance()方法无参构造
getConstructer()获得构造器对象后,调用newInstance()
调用方法:
getMethods() 或者getMethod() 返回的是一个Methed对象的数组或者对象
这时只需要调用 invoke()方法,第一个参数是调用者,第二个参数是方法参数。
方法可能含有权限
setAccessible()true 等进行取消权限设置。
IOC反转控制和动态注入的原理都是通过反射实现的!
两种类型(运行和编译)
当无法确定运行状态时,通过反射机制来查看状态信息
生成的class对象(java.lang.class)可以访问jvm中的这个类。
获得class对象的方式:
1.类型.class 类名.class
2.Class.forname("完整路径+类名");
3.b.obj.getClass(); 通过实例化对象获取类对象
推荐使用类名.class的方式。引用名称通常 Class <类的泛型> xxx= 类型.class ;
从class对象中可以获取很多对象 构造器,方法,成员,内部类等等的方法获取对应的对象
java.lang.reflect包下的对象
注意这里方法可能发生重载因此为了避免混乱会使用泛型来确定参数
创建类实例对象:
newinstance()方法无参构造
getConstructer()获得构造器对象后,调用newInstance()
调用方法:
getMethods() 或者getMethod() 返回的是一个Methed对象的数组或者对象
这时只需要调用 invoke()方法,第一个参数是调用者,第二个参数是方法参数。
方法可能含有权限
setAccessible()true 等进行取消权限设置。
IOC反转控制和动态注入的原理都是通过反射实现的!
相关文章推荐
- Java反射学习 getClass()函数应用
- java反射实现javabean转json实例代码
- Java反射中常用的操作方法
- Java 反射
- java 通过反射获取调用类方法及属性
- Java高级编程 - 使用反射强制给private字段赋值
- Java高级编程 - 使用反射强制给private字段赋值
- java课堂练习,反射
- JAVA基础之反射
- java反射
- java基础反射
- Android获取apk签名信息(举例说明java反射调用方法步骤)
- 理解JAVA反射机制
- 黑马程序员---java基础加强 反射的深入理解
- 黑马程序员-----java基础java的反射机制
- java 通过反射获取调用类方法及属性
- java 反射调用带回调接口的函数
- JAVA反射
- 黑马程序员——【Java反射学习】Class类的使用
- 黑马程序员——【Java反射学习】方法的反射/成员变量的反射/构造函数的反射