クラス反射メカニズムの簡単な使用
1102 ワード
関連クラス:ClassクラスConstructor構築メソッドMethodメソッドFieldメンバー変数
クラス:
構築メソッドクラス:
メソッドクラス:
メンバー変数クラス:
クラス:
/* , */
Class clas = Class.forName(classPath);
/* , , */
Object obj = clas.newInstance();
構築メソッドクラス:
/* */
Constructor[] cArray = clas.getConstructors();
/* */
Constructor c = clas.getConstructor(paramClassArray);
/* */
Constructor c = clas.getDeclaredConstructor(paramClassArray);
c.setAccessible(true);
/* , */
Object obj = c.newInstance(paramArray);
メソッドクラス:
/* */
Method[] mArray = clas.getMethods();
/* 、 */
Method method = clas.getMethod(methodName, paramClassArray);
/* */
Method method = clas.getDeclaredMethod(methodName, paramClassArray);
method.setAccessible(true);
/* 、 */
Object result = method.invoke(obj, paramArray);
メンバー変数クラス:
/* */
Field [] fArray = clas.getFields();
/* 、 */
Field f = clas.getField(fieldName);
/* */
Field f = clas.getDeclaredField(fieldName);
f.setAccessible(true);
/* */
Object val = f.get(obj);
/* 、 */
f.set(obj, value);