1、什么是反射
反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意属性和方法
2、获取Class对象的三种方式
1、Class.forName(全类名)方法
2、类名.class属性
3、对象.getClass()方法
3、反射获取构造方法并使用
1、getCounstructors():返回类中所有公共构造方法的对象的数组
2、getDeclaredCounstructors():返回类中所有构造方法的对象的数组
3、getCounstructor():返回类中单个公共构造方法对象
4、getDeclaredCounstructor():返回类中单个构造方法对象
5、newInstance():根据指定的构造方法创建对象
6、setAccessible():设置为true,表示取消访问检查
4、反射获取成员变量并使用
1、getFields():返回类中所有公共成员变量对象的数组
2、getDeclaredFields():返回类中所有成员变量的对象的数组
3、getField():返回类中单个公共成员变量对象
4、getDeclaredFields():返回类中单个成员变量对象
5、set():赋值
6、get():获取值
5、反射获取成员方法并使用
1、getMethods():返回所有公共成员方法对象的数组,包括继承的
2、getDeclaredMethods():返回所有成员方法对象的数组,不包括继承的
3、getMethod():返回单个公共成员方法对象
4、getDeclaredMethod():返回单个成员方法对象
5、invoke():运行方法