6.2Java静态代理设计模式
2021/6/2 22:25:36
本文主要是介绍6.2Java静态代理设计模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
6.2Java静态代理设计模式
引用图片说明
静态代理和动态代理的区别
静态代理
特点:
-
已经写好了的类,直接拿来用
动态代理
特点:
-
在运行过程中动态构建的
-
临时构建的
静态代理的作用
-
记录日志
-
监控资源占用空间
实例
package iostudy.thread; /** * 静态代理 * 1、真实角色 * 2、代理角色 * 实现代理的条件: * 两个角色实现相同的接口(公共接口)才能代理行为 * 执行方法: * 实例化实现类对象,调用方法--->在这个例子当中通过构造器传入真实对象 * 相当于实现类是代理类,真实的对象才是实现类对象 * @since JDk 1.8 * @date 2021/6/2 * @author Lucifer */ public class StaticProxy { public static void main(String[] args) { new WeddingCompany(new You()).happyMarry(); //类似于: //new Thread(线程实例化对象).start(); } } /** * 定义一个结婚接口 */ interface Marry{ /*定义接口里面的方法*/ void happyMarry(); } /** * 写一个真实角色类 */ class You implements Marry{ /*重写接口当中的方法*/ @Override public void happyMarry(){ System.out.println("Marry Successfully!!!"); } } /** * 建立一个代理角色 */ class WeddingCompany implements Marry{ /* 代理人的意思是: 1、代理人本身不做行为 2、代理真实角色做行为 */ //代理人必须有一个目标对象--->真实角色 private Marry target; /*在构造器中加入真实角色*/ public WeddingCompany(Marry target){ this.target = target; } /*重写接口当中的方法*/ @Override public void happyMarry(){ /*代理人做准备工作*/ ready(); //最终是真实角色执行happy方法 this.target.happyMarry(); /*代理人善后*/ after(); } /*定义代理类要执行的私人方法*/ /** * ready方法 */ public void ready(){ System.out.println("布置桌子!!!"); } /** * after方法 */ public void after(){ System.out.println("收拾残局!!!"); } }
这篇关于6.2Java静态代理设计模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24怎么修改Kafka的JVM参数?-icode9专业技术文章分享
- 2024-12-23线下车企门店如何实现线上线下融合?
- 2024-12-23鸿蒙Next ArkTS编程规范总结
- 2024-12-23物流团队冬至高效运转,哪款办公软件可助力风险评估?
- 2024-12-23优化库存,提升效率:医药企业如何借助看板软件实现仓库智能化
- 2024-12-23项目管理零负担!轻量化看板工具如何助力团队协作
- 2024-12-23电商活动复盘,为何是团队成长的核心环节?
- 2024-12-23鸿蒙Next ArkTS高性能编程实战
- 2024-12-23数据驱动:电商复盘从基础到进阶!
- 2024-12-23从数据到客户:跨境电商如何通过销售跟踪工具提升营销精准度?