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;

 }
}

看到上面的代碼相信你們也多多少少明白些。實現動態代理應該實現接口。

相關文章
相關標籤/搜索