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();