1.获取Class对象
//有三种方法
以person类为例
Class<Person> personClass = Person.class;
Class<?> aClass = Class.forName("com.qf.a_class.Person");
Class<? extends Person> aClass1 = new Person().getClass();
2获取Constructor对象
通过Class对象调用方法获取构造方法对象
Constructor<?>[] | getConstructors() 返回包含一个数组 Constructor 对象反射由此表示的类的所有公共构造 方法 |
---|---|
Constructor<?>[] | getDeclaredConstructors() 返回一个反映 Constructor 对象表示的类声明的所有 Constructor 对象的数组 类 。 |
Constructor<T> | getConstructor(类<?>... parameterTypes) 返回一个 Constructor 对象,该对象反映 Constructor 对象表示的类的指定的公共 类 函数。 |
Constructor<T> | getDeclaredConstructor(类<?>... parameterTypes) 返回一个 Constructor 对象,该对象反映 Constructor 对象表示的类或接口的指定 类 函数。 |
3.通过
Constructor调用newInstance(Object... initargs)方法,
使用指定的初始化参数来创建和初始化构造函数的声明类的新实例。