ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

JDK动态代理(JDK dynamic proxy)

JDK动态代理(JDK dynamic proxy) import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /** * JDK动态代理。 * author Bright Lee */ public class JdkDynamicProxyTest { public static void main(String[] args) { Interface target new Class(); JdkDynamicProxyHandler handler new JdkDynamicProxyHandler(target); Interface proxy (Interface) Proxy.newProxyInstance( target.getClass().getClassLoader(), target.getClass().getInterfaces(), handler); String result proxy.getName(); System.out.println(result); } } /** * 定义一个接口由动态代理实现该接口并进行增强。 */ interface Interface { public String getName(); } /** * 接口的实现类。 */ class Class implements Interface { public String getName() { return MyName; } } class JdkDynamicProxyHandler implements InvocationHandler { private Object target; public JdkDynamicProxyHandler(Object target) { this.target target; } Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { if (method.getName().equals(getName)) { String name (String) method.invoke(target, args); name My name is: name; return name; } else { return null; } } }运行结果My name is: MyName青蛙客服系统https://download.csdn.net/download/look4liming/93326820
返回列表