jdk動態代理(暫)

 

 

代理模式:

假設有一個類A(實現了InterfaceOne接口),現在再定義一個類AProxy。

如果需要訪問A的某個方法,則通過訪問AProxy中特定方法,由AProxy中的方法(不一定和A的方法對應)來調用A中的相應方法,即AProxy 是A的代理。

 

jdk的動態代理(Proxy):

即jdk提供了Proxy這個類,實現代理模式。即把 AProxy 和 A綁定起來,當要訪問A的時候,自動先訪問AProxy。

 

使用方法:

A a = new A();

AProxy a_proxy = new AProxy();

InterfaceOne itf1 =(InterfaceOne ) Proxy.newProxyInstance(a.getClassLoader, a_proxy.getInterfaces,a_proxy),

 

itf1.func(); // 調用相應的方法之後,就會進入動態代理的invoke之中.

 

我個人對動態代理中動態的理解是:動態即在java.reflect.Proxy可以綁定  代理類(實現InvocationHandler接口) 和 被代理類.

這種綁定是不需要在編碼的時候就寫死,而是在運行時進行綁定.!

 

 

代碼````````````

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章