博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转:测试反射调用私有方法/私有静态方法
阅读量:5788 次
发布时间:2019-06-18

本文共 1759 字,大约阅读时间需要 5 分钟。

原文:

1 import java.lang.reflect.Method; 2   3 class T{ 4     public void me2(String s){ 5         System.out.println("public method "); 6     } 7     private static void me1(String s,Integer i){ 8         System.out.println("this is a private static method and the parameters is: "+s+" "+i); 9     }10     private void me(String s){11         System.out.println("this is a private method and the parameters is: "+s);12     }13 }14 public class Test1 {15     public static void main(String[] args){16         T t=new T();17         try{18             Method method=Class.forName("T").getDeclaredMethod("me", new Class[]{String.class});19             method.setAccessible(true);20             method.invoke(t, "test private");21             Method method1=Class.forName("T").getDeclaredMethod("me1", new Class[]{String.class,Integer.class});22             method1.setAccessible(true);23             method1.invoke(T.class, "test static private",1296699761);24             Method method2=t.getClass().getDeclaredMethod("me2",new Class[]{String.class});25             //method2.setAccessible(true);26             method2.invoke(t, "test public");27             }catch(Exception e){28                 e.printStackTrace();29             }30         System.out.println("end!");31     }32 }

 

getDeclaredMethod方法第一个参数是方法名,第二个是参数类型的数组

invoke方法第一个参数是类或者对象实例,后面的参数是方法形参

setAccessible要设置成true的,否则无法调用private方法 #######  主要是这句

运行结果:

this is a private method and the parameters is: test private

this is a private static method and the parameters is: test static private 1296699761
public method 
end!
---------------------
作者:zhoudqa
来源:CSDN
原文:https://blog.csdn.net/zhoudqa/article/details/78256928
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/mumu122GIS/p/9855935.html

你可能感兴趣的文章
洛谷P2179 骑行川藏
查看>>
(十八)js控制台方法
查看>>
VB关键字总结
查看>>
android代码生成jar包并混淆
查看>>
一个不错的vue项目
查看>>
屏蔽指定IP访问网站
查看>>
python学习 第一天
查看>>
根据毫秒数计算出当前的“年/月/日/时/分/秒/星期”并不是件容易的事
查看>>
python的图形模块PIL小记
查看>>
shell变量子串
查看>>
iOS的主要框架介绍 (转载)
查看>>
react报错this.setState is not a function
查看>>
poj 1183
查看>>
从根本解决跨域(nginx部署解决方案)
查看>>
javascript实现的一个信息提示的小功能/
查看>>
Centos7.x:开机启动服务的配置和管理
查看>>
HTML5 浏览器返回按钮/手机返回按钮事件监听
查看>>
xss
查看>>
iOS:百度长语音识别具体的封装:识别、播放、进度刷新
查看>>
JS获取服务器时间并且计算距离当前指定时间差的函数
查看>>