通过反射获取私有方法

简介:

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.         

 

相关文章
反射
何为反射?在运行状态时,对于任何一个类,都能够动态获取这个类得所有方法和属性(私有,公有,受保护),都能够调用任意一个方法和属性。
38 0
|
5月前
|
Java
【反射】Java反射机制 -- 常用构造器与方法
【反射】Java反射机制 -- 常用构造器与方法
54 0
|
2月前
|
存储 缓存
优美的使用反射,哪些场景推荐使用反射,哪些不推荐使用
优美的使用反射,哪些场景推荐使用反射,哪些不推荐使用
23 0
|
安全 数据可视化 IDE
反射(二)什么是反射
反射(二)什么是反射
56 0
|
Java API
Java反射(通过反射获取构造函数、方法、属性)
1.通过反射获取构造函数,2.通过反射获取方法,3.通过反射调用成员属性
112 0
|
存储 Java 索引
反射理解
个人对反射的学习理解与代码
63 0
|
安全 Java 开发者
反射调用构造方法|学习笔记
快速学习反射调用构造方法
128 0
反射调用构造方法|学习笔记