首頁 > Java > java教程 > 主體

java動態產生代理類別的方法

WBOY
發布: 2023-04-27 18:46:07
轉載
1230 人瀏覽過

說明

1、呼叫Proxy類別的newProxyInstance方法來取得代理類別實例。

2、這個代理類別實作了指定的介面並且會把方法呼叫分發到指定的呼叫處理器。

方法宣告

public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) throws IllegalArgumentException
登入後複製

參數

#loader:定義了代理程式類別的ClassLoder

interfaces:代理類別實作的介面清單

h:呼叫處理器,也就是我們上面定義的實作了InvocationHandler介面的類別實例

實例

public class Main {
    public static void main(String[] args) {
        //创建中介类实例
        DynamicProxy inter = new DynamicProxy(new Vendor());
        //加上这句将会产生一个$Proxy0.class文件,这个文件即为动态生成的代理类文件
        System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles","true");
 
        //获取代理类实例sell
        Sell sell = (Sell)(Proxy.newProxyInstance(Sell.class.getClassLoader(), new Class[] {Sell.class}, inter));
 
        //通过代理类对象调用代理类方法,实际上会转到invoke方法调用
        sell.sell();
        sell.ad();
    }
}
登入後複製

以上是java動態產生代理類別的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板