1,如何通过反射获取无参方法

Java代码  通过反射获取私有方法
  1. /**** 
  2.        * 我通过反射获取的 
  3.        * @return 
  4.        */  
  5.       public JTextArea getTextArea(){  
  6.           Class clazz=MainView.class;  
  7.           Object obj=null;  
  8.             Method m;  
  9.             try {  
  10.                 m = clazz.getDeclaredMethod("getTextArea"new Class[]{});  
  11.                 m.setAccessible(true);  
  12.                 obj=m.invoke(thisnull);  
  13.             } catch (NoSuchMethodException e) {  
  14.                 e.printStackTrace();  
  15.             } catch (SecurityException e) {  
  16.                 e.printStackTrace();  
  17.             } catch (IllegalAccessException e) {  
  18.                 e.printStackTrace();  
  19.             } catch (IllegalArgumentException e) {  
  20.                 e.printStackTrace();  
  21.             } catch (InvocationTargetException e) {  
  22.                 e.printStackTrace();  
  23.             }  
  24.             return (JTextArea)obj;  
  25.       }  

 注意:

下图是错误的:
通过反射获取私有方法
 

 

2,如何通过反射获取有参方法

Java代码  通过反射获取私有方法
  1. /**** 
  2.        * 我通过反射获取的 
  3.        * @return 
  4.        */  
  5.       public void formatJson(){  
  6.           Class clazz=MainView.class;  
  7.           Object obj=null;  
  8.             Method m;  
  9.             try {  
  10.                 m = clazz.getDeclaredMethod("formatJson"new Class[]{String.class,boolean.class});  
  11.                 m.setAccessible(true);  
  12.                 obj=m.invoke(thisnull);  
  13.             } catch (NoSuchMethodException e) {  
  14.                 e.printStackTrace();  
  15.             } catch (SecurityException e) {  
  16.                 e.printStackTrace();  
  17.             } catch (IllegalAccessException e) {  
  18.                 e.printStackTrace();  
  19.             } catch (IllegalArgumentException e) {  
  20.                 e.printStackTrace();  
  21.             } catch (InvocationTargetException e) {  
  22.                 e.printStackTrace();  
  23.             }  
  24.       }  
  25.         

 

相关文章: