java反射机制
以前一直觉得很麻烦就不断逃避,但是真男人就要直面困难(其实学明白之后也没啥)
本文将从反射的作用,反射获取类字节码的方式,如何通过反射创建对象,通过反射获取类的字段、方法 四个大方面进行介绍
反射的作用
在运行时构造一个类的对象;
判断一个类所具有的成员变量和方法;
调用一个对象的方法;
生成动态代理,反射最大的应用就是框架;
通过获取类的.Class文件进行反射
反射的三种方式
- object的getclass()方法
2.类名.Class
3.通过类的路径名forName()(常用)
如何通过反射创建对象
1、通过类对象调用newInstance()方法
String.class.newInstance()
2、通过类对象的getConstructor()或getDeclaredConstructor()方法获得构造器对象,再通过newInstance()方法创建对象
String.class.getConstructor(String.class).newInstance(“Hello”);
如何反射获取对象字段、方法
1、共有方法 getFields()
私有方法 getDeclaredFiled()
SetAccessible(true)
2、getMethods()