反射:在运行状态中,对于任意一个类,都能够知道这个类的属性和方法,对任意一个对象,都能够调用它的任意一个方法和属性,这种动态获取信息以及动态调用对象的方法的功能就是java的反射
反射优缺点:
1.通过反射可以使程序代码访问装载到jvm中的类的内部信息,包括属性,方法,构造方法等
2.反射提高java程序的灵活性和扩展性 降低耦合性,提高自适应能力
3.反射会对性能造成一定影响 同时让代码可读性变低
使用:
1.通过反射获取元信息 Class.forName
2.获取包名和类名 getName getSimpleName
3.获取类属性和具体的值 getDeclaredFields
4.反射实例化 newInstance
5.反射获取当前类的方法 getMethods
6.反射获取注解 getAnnotation
7.使属性可见 setAccessible