我是靠谱客的博主 直率冰棍,最近开发中收集的这篇文章主要介绍Java中的invoke()方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

invoke(Object obj, Object… args):

invoke()就是调用类中的方法,第一个参数是obj(对象),在我们平常使用过程中用到的是类,类是对象的一个集合,第二个参数是args(参数),是调用invoke这个方法所使用的参数,我们使用是一般是类中的方法(method),因此invoke方法我们也可以这样理解:invoke(class,method),相当于把类中的方法参数化了。

比如Test类里有一系列名字相似的方法setValue1、setValue2等等。可以把方法名存进数组v[],然后循环里invoke(test,v[i]),就顺序调用了全部setValue。

参数:1)Obj–从中调用基础方法的对象

​ 2)Args:用于方法调用使用的参数

返回:在参数为args的obj上调度此对象表示的方法的结果

  public Object invoke(Object obj, Object... args)
  //IllegalAccessException:如果这个Method对象强制Java语言访问控制,并且底层方法不可访问
  //IllegalArgumentException:如果方法是一个实例方法,而指定的对象参数不是声明底层方法的类或接口的实例
        throws IllegalAccessException, IllegalArgumentException,
           InvocationTargetException  //底层方法抛出异常
    {
        if (!override) {
            if (!Reflection.quickCheckMemberAccess(clazz, modifiers)) {
                Class<?> caller = Reflection.getCallerClass();
                checkAccess(caller, clazz, obj, modifiers);
            }
        }
        MethodAccessor ma = methodAccessor;             // read volatile
        if (ma == null) {
            ma = acquireMethodAccessor();
        }
        return ma.invoke(obj, args);
        }

最后

以上就是直率冰棍为你收集整理的Java中的invoke()方法的全部内容,希望文章能够帮你解决Java中的invoke()方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部