1,如何通过反射获取无参方法
/****
* 我通过反射获取的
* @return
*/
public JTextArea getTextArea(){
Class clazz=MainView.class;
Object obj=null;
Method m;
try {
m = clazz.getDeclaredMethod("getTextArea", new Class[]{});
m.setAccessible(true);
obj=m.invoke(this, null);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return (JTextArea)obj;
}
注意:
下图是错误的:
2,如何通过反射获取有参方法
/****
* 我通过反射获取的
* @return
*/
public void formatJson(){
Class clazz=MainView.class;
Object obj=null;
Method m;
try {
m = clazz.getDeclaredMethod("formatJson", new Class[]{String.class,boolean.class});
m.setAccessible(true);
obj=m.invoke(this, null);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}