java ---Proxy

一、什么是代理模式java

     代理模式至关为一种对象或者类提供一个中间的访问者,若是一个用户不想访问或者不能直接引用某个对象。那么代理就会为咱们作不少处理。web

二、代理对象所需的角色:ide

    接口: 代理模式是实现了JAVA中的多态。this

下面我用JAVA为你们进行比较详细的介绍:spa

package cn.proxy;代理

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;orm

  //1:实现代理执行句柄
public class Myproxy implements InvocationHandler {
 // 二、必需要实现invoke方法,只要是执行代理类上的任意方法(不包含getClass)
 // 就会先执行这个方法
 @Override
 public Object invoke(Object proxy, Method method, Object[] args)
   throws Throwable {
  Object returnValue = null;
  returnValue = method.invoke(src, args);
  return returnValue; }对象

 // 三、声明被代理的对象
 private Object src;接口

 // 四、在构造器方法里面接收这个对象
 public Myproxy(Object object) {
  this.src = object;
 }开发

 // 五、开发一个静态的方法返回这个被代理的对象的代理
 public static Object getMyproxy(Object object) {
  // 六、建立代理对象

参数:Myproxy.class.getClassLoader(),类装载器装载机的代理

object.getClass()类的接口。多态

代理的对象必须实现 InvocationHandler这个接口的方法

  Object proxyobj = Proxy.newProxyInstance(
    Myproxy.class.getClassLoader(), object.getClass()
      .getInterfaces(), new Myproxy(object));

  return proxyobj;

 }
}

看到上面的代码相信你们也多多少少明白些。实现动态代理应该实现接口。

相关文章
相关标签/搜索