Module  java.base
软件包  java.lang.reflect

Interface InvocationHandler

    • 方法详细信息

      • invoke

        Object invoke​(Object proxy,
                      方法 method,
                      Object[] args)
               throws Throwable
        处理代理实例上的方法调用并返回结果。 当在与之关联的代理实例上调用方法时,将在调用处理程序中调用此方法。
        参数
        proxy - 调用该方法的代理实例
        method - 对应于在代理实例上调用的接口方法的方法实例。 方法对象的声明类将是方法声明的接口,它可以是代理类继承方法的代理接口的超级接口。
        args - 包含代理实例上方法调用中传递的参数值的对象数组,如果接口方法不带参数, null 原始类型的参数包含在适当的原始包装器类的实例中,例如java.lang.Integerjava.lang.Boolean
        结果
        从代理实例上的方法调用返回的值。 如果接口方法的声明返回类型是原始类型,则此方法返回的值必须是对应的基本包装类的实例; 否则,它必须是可声明返回类型的类型。 如果此方法返回的值为null ,并且接口方法的返回类型是原始的,则代理实例上的方法调用将抛出NullPointerException 如果此方法返回的值与上述的接口方法声明的返回类型不兼容,那么代理实例上的方法调用将抛出一个ClassCastException
        异常
        Throwable - 从代理实例上的方法调用抛出的异常。 异常类型必须可以分配给接口方法的throws子句中声明的任何异常类型或未检查的异常类型java.lang.RuntimeExceptionjava.lang.Error 如果此方法抛出一个检查的异常,该方法不能分配给接口方法的throws子句中声明的任何异常类型,那么包含此方法抛出的异常的UndeclaredThrowableException将被引用在方法调用上代理实例。
        另请参见:
        UndeclaredThrowableException