zoukankan      html  css  js  c++  java
  • 转:测试反射调用私有方法/私有静态方法

    原文:https://blog.csdn.net/zhoudqa/article/details/78256928 

     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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    暴力枚举 --- 多方法求解
    图论 --- 骑士周游问题,DFS
    数论 --- 同余定理
    数论 --- 筛法求素数进一步优化
    求大素数
    codeforces --- Round #244 (Div. 2) B. Prison Transfer
    codeforces --- Round #244 (Div. 2) A. Police Recruits
    线段树 --- (区间维护+逆推)
    线段数 --- (单点更新、求逆序对)
    线段树 --- (单点更新、区间求和、模板题)
  • 原文地址:https://www.cnblogs.com/mumu122GIS/p/9855935.html
Copyright © 2011-2022 走看看