基于接口的动态代理
发布日期:2021-05-10 19:06:20 浏览次数:13 分类:精选文章

本文共 2534 字,大约阅读时间需要 8 分钟。

������������������������������������������������������Java���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������IProducer���������

public interface IProducer {    void saleProduct(float money);    void afterService(float money);}

���������������������������������������������saleProduct���afterService���������������������������������������������������������������������������������������������������������������

���������������������������������������Producer������

public class Producer implements IProducer {    @Override    public void saleProduct(float money) {        System.out.println("������������������������������" + money);    }    @Override    public void afterService(float money) {        System.out.println("������������������������������������" + money);    }}

���������������������������������������������������������������������������������������������������������������������������

���������������������������Client������������������������������������������������������������������������������

public class Client {    public static void main(String[] args) {        final Producer producer = new Producer();        IProducer proxyProducer = (IProducer) Proxy.newProxyInstance(            producer.getClass().getClassLoader(),            producer.getClass().getInterfaces(),            new InvocationHandler() {                @Override                public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {                    if ("saleProduct".equals(method.getName())) {                        // ���������������������20%                        return method.invoke(producer, args[0] * 0.8f);                    }                    return method.invoke(producer, args);                }            }        );        proxyProducer.saleProduct(10000f);    }}

���������������Java���Proxy���������������������������������������������InvocationHandler���������������������������������������������������������������������saleProduct������ handler������������������������20%���������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

上一篇:基于子类的动态代理
下一篇:动态代理——事务处理

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月15日 23时01分59秒