什么是反射
反射是java语言中的一种机制,通过这种机制可以动态的实例化对象、读写属性、调用方法
获取类对象的方式
1.通过对应类(java.lang.Class)实例的类(Student.class)实例的getClass()方法获取
2.通过Class.forName(“类的全路径”)
3.类实例.class
反射的基础: 一切反射相关的代码都从获得类对象开始
反射三大作用(java.lang.reflect.*)
1 、实例化对象
—通过反射的方式调用无参构造器来实例化对象
—通过反射的方式调用带有一个参数构造器来实例化对象
—通过反射的方式调用带有二个参数构造器来实例化对象
—通过反射的方式调用私有构造器来实例化对象
getDeclaredConstructor与getConstructor的区别:
getConstructor获取的是public修饰的
getDeclaredConstructor获取的是所有的构造器
2 、动态调用方法
—调用无参无返回的方法
–调用有参无返回的方法
–调用私有的有参有返回的方法
3 、读写属性
获取值
设置值