您的位置:首页 > 编程语言 > Java开发

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反转控制和动态注入的原理都是通过反射实现的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息