回覆列表
  • 1 # 小紅的甜心

    import java.lang.reflect.Proxy;

    A. 建立一個實現介面InvocationHandler的類,他必須實現invoke方法

    B. 建立被代理的類以及介面。

    C. 透過Proxy的靜態方法newProxyInstance(ClassLoader loader,Class【】interfaces,InvocationHandler handler)建立一個代理

    D. 透過代理呼叫方法。

    java動態代理:是在執行是生成的class物件,在生成時必須提供一組或一個interface給它,然後該class就宣稱它實現了這些interface。你當然可以把該class的例項當做這些interface中的任何一個來用,當然,這個DynamicProxy其實就是一個Proxy,他不會替你做實質性的工作,在生成它的例項時你必須提供一個handler,由它接管實際的工作。因此,DynamicProxy必須實現InvocationHandler介面。

    5) 一個動態代理了和一個InvocationHandler 實現關聯的。每一個動態代理例項的呼叫都要透過InvocationHandler介面的handler(呼叫處理器)來呼叫,動態代理不做任何執行操作,只是在建立動態代理時,把要實現的介面和handler關聯,動態代理要幫助被代理執行的任務,要轉交給handler來執行。其實就是呼叫invoke方法。

  • 中秋節和大豐收的關聯?
  • 給姓孫的孩子起名字,男女不限?