通过反射机制查看类信息
两种类型(运行和编译)
当无法确定运行状态时,通过反射机制来查看状态信息
生成的class对象(java.lang.class)可以访问jvm中的这个类。
获得class对象的方式:
1.类型.class 类名.class
2.Class.forname("完整路径+类名");
注意这里方法可能发生重载因此为了避免混乱会使用泛型来确定参数
getConstructer()获得构造器对象后,调用newInstance()
这时只需要调用 invoke()方法,第一个参数是调用者,第二个参数是方法参数。
方法可能含有权限
两种类型(运行和编译)
当无法确定运行状态时,通过反射机制来查看状态信息
生成的class对象(java.lang.class)可以访问jvm中的这个类。
获得class对象的方式:
1.类型.class 类名.class
2.Class.forname("完整路径+类名");
3.b.obj.getClass(); 通过实例化对象获取类对象
推荐使用类名.class的方式。引用名称通常 Class <类的泛型> xxx= 类型.class ;
从class对象中可以获取很多对象 构造器,方法,成员,内部类等等的方法获取对应的对象
java.lang.reflect包下的对象注意这里方法可能发生重载因此为了避免混乱会使用泛型来确定参数
创建类实例对象:
getConstructer()获得构造器对象后,调用newInstance()
调用方法:
这时只需要调用 invoke()方法,第一个参数是调用者,第二个参数是方法参数。
方法可能含有权限
setAccessible()true 等进行取消权限设置。
IOC反转控制和动态注入的原理都是通过反射实现的!