1、通过反射可以获取到该类的所有的公共字段:
getField(String name) getField()
可以使用setField()方法给字段赋值
2、通过反射可以获取到类中的所有的构造函数,通过获取到的构造函数可以对类进行加载
过程:① 获取到类 ② 调用类的newsInstance()方法实例化
(1)无参数构造函数
Class c = Class.forName("String");
String s = (String) c.newInstance();
(2)有参数构造函数
Class c = Class.forName("String");
Constructor con = c.getConstructor(Class[] ... 变长数组);
Class[] classes = new Class[]{String class...};
String s = (String) con.newInstance();
批量加载类的方法:
public Object[] createClass(String[] strClassName);
3、通过反射获取到类的所有方法,并且可以通过invoke()方法调用该类的底层方法
Method m = getMethod(String name,Class[] ... 可变数组);//获取想调用的方法
getMethods();//获取类中的所有方法
利用反射获取方法:
m.invoke();