Кода -копия выглядит следующим образом:
импортировать java.lang.reflect.invocationHandler;
импортировать java.lang.reflect.method;
Импорт java.lang.reflect.proxy;
Общедоступный класс Loghandler реализует vocationHandler {
Делегат частного объекта;
public Object Bind (объект делегат) {
this.delegate = делегат;
return proxy.newproxyinstance (delegate.getClass (). getClassLoader (),
Delegate.getClass (). getInterfaces (), это);
}
@Override
Public Object Invoke (объект прокси, метод метода, объект [] args)
бросает бросок {
Объект результат = null;
пытаться {
System.out.println ("Method Start:" + Method);
result = method.invoke (делегат, args);
System.out.println ("Метод конец:" + метод);
} catch (Exception e) {
e.printstacktrace ();
}
результат возврата;
}
}
Кода -копия выглядит следующим образом:
общественное интерфейс животное {
public void hello ();
}
Dynamic Proxy является расширенной формой прокси-модели и широко используется в проектировании и разработке структур (особенно на основе AOP).
Кода -копия выглядит следующим образом:
Обезьяна Обезьяна Объединения класса реализует животное {
@Override
public void hello () {
// TODO Автогенерированный метод заглушка
System.out.println ("Hello");
}
}
Кода -копия выглядит следующим образом:
открытый класс Main {
public static void main (string [] args) {
Loghandler loghandler = new loghandler ();
Животное животное = (животное) loghandler.bind (new Monkey ());
Animal.Hello ();
}
}