La copia del código es la siguiente:
import java.lang.reflect.invocationHandler;
import java.lang.reflect.method;
import java.lang.reflect.proxy;
Public Class LogHandler implementa Invocathandler {
Delegado de objeto privado;
Public Object Bind (Object Delegate) {
this.delegate = delegado;
return proxy.newproxyInstance (delegate.getclass (). getClassLoader (),,
delegate.getclass (). getInterfaces (), this);
}
@Anular
Public Object Invoke (proxy de objeto, método método, objeto [] args)
lanza tirarse {
Resultado del objeto = nulo;
intentar {
System.out.println ("Método Inicio:" + Método);
result = Method.Invoke (delegado, args);
System.out.println ("End de método:" + método);
} capt (excepción e) {
E.PrintStackTrace ();
}
resultado de retorno;
}
}
La copia del código es la siguiente:
Animal de interfaz pública {
public void hola ();
}
Dynamic Proxy es una forma extendida del modelo proxy y se usa ampliamente en el diseño y el desarrollo de marcos (especialmente los marcos basados en AOP).
La copia del código es la siguiente:
Monkey de clase pública implementa animal {
@Anular
public void hello () {
// TODO STUB de método generado automático
System.out.println ("hola");
}
}
La copia del código es la siguiente:
clase pública Main {
public static void main (string [] args) {
LogHandler logHandler = new LogHandler ();
Animal animal = (animal) logHandler.bind (nuevo mono ());
animal.hello ();
}
}