java.lang.reflect反射之动态代理类 Proxy

public class Proxy extends Object implements Serializable

Proxy 提供了一组静态方法,通过这些静态方法用于创建动态代理类和实例,它还是由这些方法创建的所有动态代理类的超类。

Proxy类是专门完成代理的操作类,可以通过此类为一个或多个接口动态地生成实现类。

为某个接口创建代理Foo :
InvocationHandler handler = new MyInvocationHandler(...);
Class<?> proxyClass = Proxy.getProxyClass(Foo.class.getClassLoader(), Foo.class);
Foo f = (Foo) proxyClass.getConstructor(InvocationHandler.class).
                     newInstance(handler); 
或更简单地:
Foo f = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(),new Class<?>[] { Foo.class },handler); 

属性 

Modifier and TypeField and Description
protected InvocationHandlerh

该代理实例的调用处理程序。

构造方法 

ModifierConstructor and Description
protectedProxy(InvocationHandler h)

从一个子类(通常是一个动态代理类)构造一个新的 Proxy实例,具有指定的调用处理程序的值。

静态方法

Modifier and TypeMethod and Description
static InvocationHandlergetInvocationHandler(Object proxy)

返回指定代理实例的调用处理程序。

static <?>getProxyClass(ClassLoader loader, <?>... interfaces)

给出类加载器和接口数组的代理类的 java.lang.Class对象。

static booleanisProxyClass(<?> cl)

如果且仅当使用 getProxyClass方法或 newProxyInstance方法将指定的类动态生成为代理类时,则返回true。

static ObjectnewProxyInstance(ClassLoader loader, <?>[] interfaces, InvocationHandler h)

返回指定接口的代理类的实例,该接口将方法调用分派给指定的调用处理程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值