Navicat Premium 11.0.18激活(23模式之: 动态代理模式(jdk版本)demo)

Navicat Premium 11.0.18激活(23模式之: 动态代理模式(jdk版本)demo)

package dynamic_proxy_mode; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; / * 类型对象, 接口对象处理类 */ public class StarHandler implements InvocationHandler{ / * 持有真实对象的引用 */ private Star realStar; / * 构造器(传入真实对象) */ public StarHandler(Star realStar) { this.realStar = realStar; } / * 代理类的所有方法, 都来这报道 * 核心方法, 所有流程控制都在这里处理, 需要用到其它方法请在这里提供 * 参数: proxy代理对象, method正在调用的方法, args方法的参数 */ @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { Object object = null; System.out.println("真正的方法唱歌执行前!"); System.out.println("经纪人: 面谈, 签合同, 订票!");//以打印模拟业务处理 //核心方法之外的, 此处可以做到统一的流程控制, 比静态代理更简单了 if (method.getName().equals("sing")) { object = method.invoke(realStar, args);//激活并调用真实对象的方法 //void sing(); object是返回值此处为null, 客户端参数也不用传, 但此处args也要写上  } System.out.println("真正的方法唱歌执行后!"); System.out.println("经纪人: 收款!")Navicat Premium 11.0.18激活; return object; } }

今天的文章
Navicat Premium 11.0.18激活(23模式之: 动态代理模式(jdk版本)demo)分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/107491.html

(0)
编程小号编程小号
上一篇 2024-08-02 08:06
下一篇 2024-08-02

相关推荐