Salinan kode adalah sebagai berikut:
impor java.lang.reflect.invocationHandler;
impor java.lang.reflect.method;
impor java.lang.reflect.proxy;
LogHandler kelas publik mengimplementasikan InvocationHandler {
Delegasi Objek Pribadi;
Bind Objek Publik (Delegasi Objek) {
this.delegate = delegate;
return proxy.newproxyInstance (delegate.getClass (). getClassLoader (),
delegate.getClass (). getInterfaces (), this);
}
@Mengesampingkan
Invoke Objek Publik (Proksi Objek, Metode Metode, Objek [] args)
melempar lempar {
Hasil Objek = NULL;
mencoba {
System.out.println ("Metode Start:" + Metode);
hasil = metode.invoke (delegasi, args);
System.out.println ("Metode Akhir:" + Metode);
} catch (Exception e) {
e.printstacktrace ();
}
hasil pengembalian;
}
}
Salinan kode adalah sebagai berikut:
hewan antarmuka publik {
public void hello ();
}
Dynamic Proxy adalah bentuk yang diperluas dari model proxy dan banyak digunakan dalam desain dan pengembangan kerangka kerja (terutama kerangka kerja berbasis AOP).
Salinan kode adalah sebagai berikut:
Monyet kelas publik mengimplementasikan hewan {
@Mengesampingkan
public void hello () {
// TODO Stub Metode yang Dihasilkan Otomatis
System.out.println ("Hello");
}
}
Salinan kode adalah sebagai berikut:
Kelas Publik Utama {
public static void main (string [] args) {
LogHandler LogHandler = New LogHandler ();
Hewan Hewan = (Hewan) Loghandler.Bind (monyet baru ());
animal.hello ();
}
}