public interface InvocationHandler
InvocationHandler
是通过一个代理实例零调用处理程序实现的接口。
每个代理实例都有一个相关的调用处理程序。当一个方法是在一个代理实例调用,调用的方法进行编码并派遣其调用处理程序的invoke
方法。
Proxy
Object invoke(Object proxy, 方法 method, Object[] args) throws Throwable
proxy
-代理实例,调用的方法
method
代理实例的
方法
实例。声明类的
方法
对象将接口的方法声明,这可能是一个超接口代理接口,代理类继承的方法。
args
-包含在方法上通过代理实例调用的实参的值对象的数组,或
null
如果接口方法不需要参数。原始类型的实参是包裹在适当的原始包装类的实例,如
java.lang.Integer
或
java.lang.Boolean
。
null
和接口方法的返回类型是原始的,然后
NullPointerException
将由法对代理实例调用抛出。如果该方法返回的值是不兼容的接口的方法声明的返回类型如上所述,一个
ClassCastException
将由法对代理实例调用抛出。
Throwable
-把从方法上代理实例调用的例外。异常的类型必须是可转让或任何的异常类型的接口方法的
throws
条款或对未检查的异常类型
java.lang.RuntimeException
或
java.lang.Error
宣布。如果用这种方法,是不可转让的任何异常类型的接口方法的
throws
条款声明抛出检查异常,然后
UndeclaredThrowableException
包含异常,通过该方法抛出将由法对代理实例调用抛出。
UndeclaredThrowableException
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.