一、获取Class类的对象
1、Class.forName(“全类名”);
2、类名.class
3、对象.getClass();
二、
(一)、Class类中用于获取构造方法的方法
1、Constructor<?>[] getConstructors():返回所有公共构造方法对象的数组
2、Constructor<?>[] getDeclaredConstructors():返回所有构造方法对象的数组
3、Constructor<T> getConstructor(Class<?>... parameterTypes):返回单个公共构造方法对象
4、Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes):返回单个构造方法对象
(二)、Constructor类中用于创建对象的方法
1、T newInstance(Object... initargs):根据指定的构造方法创建对象
2、setAccessible(boolean flag):设置为true,表示取消访问检查
三、反射获取成员变量并使用
(一)、获得Field对象
1、Field[] getFields():返回所有公共成员变量对象的数组
2、Field[] getDeclaredFields():返回所有成员变量对象的数组
3、Field getField(String name):返回单个公共成员变量对象
4、Field getDeclaredField(String name):返回单个成员变量对象
(二)、赋值或者获取值
1、void set(Object obj, Object value):赋值
2、Object get(Object obj) 获取值。
四、反射获取成员方法并运行
(一)、获得Method对象
1、Method[] getMethods():返回所有公共成员方法对象的数组,包括继承的
2、Method[] getDeclaredMethods():返回所有成员方法对象的数组,不包括继承的
3、Method getMethod(String name, Class<?>... parameterTypes) :返回单个公共成员方法对象
4、Method getDeclaredMethod(String name, Class<?>... parameterTypes):返回单个成员方法对象
(二)、反射获取成员方法并运行
1、Object invoke(Object obj, Object... args):运行方法
参数一:用obj对象调用该方法
参数二:调用方法的传递的参数(如果没有就不写)
返回值:方法的返回值(如果没有就不写)