zoukankan      html  css  js  c++  java
  • java中Method.invoke方法参数解析

    通过发射的机制,可以通过invoke方法来调用类的函数。invoke函数的第一个参数是调用该方法的实例,如果该方法是静态方法,那么可以用null或者用类来代替,第二个参数是变长的,是调用该方法的参数。

     1 package com.tn.class;
     2 
     3 import java.lang.reflect.Method;
     4 import java.util.Arrays;
     5 
     6 public class Client {
     7     public static void main(String[] args) throws Exception {
     8         Class<User> clas=User.class;
     9         Method m=clas.getMethod("method", String[].class);
    10         m.invoke(null, new Object[]{new String[]{"aa","bb","cc"}});//静态方法可省略对象,直接用null替代,或用clas
    11         
    12         m=clas.getDeclaredMethod("method", int[].class);//非public方法要用declared获取
    13         m.setAccessible(true);//非public方法需要设置为可访问
    14         m.invoke(clas.newInstance(), new int[]{1,2,3,4,3,2,1});//非静态方法需要提供底层的类对象
    15     }
    16 }
    17 
    18 class User{
    19     public static void method(String...strings){
    20         System.out.println(Arrays.toString(strings));
    21     }
    22     
    23     private void method(int...ints){
    24         System.out.println(Arrays.toString(ints));
    25     }
    26 }

    参考网址:https://www.cnblogs.com/xiongjiawei/p/6858957.html

  • 相关阅读:
    省选前模拟
    $SA$后缀数组
    一键运行
    多项式$fft$,$ntt$,$fwt$初步
    插头$DP$初步
    网络流初步
    欧拉路相关
    模板—Hash_map
    HZOJ Function
    HZOJ Tree
  • 原文地址:https://www.cnblogs.com/fpqi/p/9638762.html
Copyright © 2011-2022 走看看