Rumah >Java >javaTutorial >Bagaimana untuk menjana kelas proksi secara dinamik dalam java

Bagaimana untuk menjana kelas proksi secara dinamik dalam java

WBOY
WBOYke hadapan
2023-04-27 18:46:071234semak imbas

Arahan

1. Panggil kaedah ProxyInstance baharu kelas Proksi untuk mendapatkan contoh kelas proksi.

2. Kelas proksi ini melaksanakan antara muka yang ditentukan dan mengedarkan panggilan kaedah kepada pemproses panggilan yang ditentukan.

Pengisytiharan kaedah

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

Parameter

pemuat: ClassLoder yang mentakrifkan kelas proksi

antara muka: Senarai antara muka yang dilaksanakan oleh kelas proksi

h: Pengendali Invocation, iaitu contoh kelas yang kami takrifkan di atas yang melaksanakan antara muka InvocationHandler

instance

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();
    }
}

Atas ialah kandungan terperinci Bagaimana untuk menjana kelas proksi secara dinamik dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam