1. 程式人生 > >jdk代理(只能代理實現了接口的類)

jdk代理(只能代理實現了接口的類)

ati ssl 調用 類的方法 face oca 加載器 一個 getc

被代理對象實現了某些接口,在運行時產生class(代理)類,使用動態代理實現InvocationHandler接口

1.創建一個實現InvocationHandler的類,它必須實現invoke(proxy:被代理對象,method:被代理方法,args:方法的參數)方法,定義一個Object對象,寫一個有參構造器傳入。調用method.invoke(target)方法

2.創建被代理的類以及接口,含有業務邏輯方法

3.調用Proxy的靜態方法,創建一個代理類
Proxy.newProxyInstance(cls.getClassLoader(), cls.getInterfaces(), h)
* loader 類加載器
* interfaces 類實現接口
* h InvocationHandler

4.調用代理類的方法

jdk代理(只能代理實現了接口的類)