模块  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