动态代理

代理模式相信大家都听说过,在代码实现角度来讲分静态代理和动态代理。平时在讲解代理模式时,大家用的例子都是用静态代理。不过呢,用静态代理来做例子能够更加清晰的表达出代理模式的精髓。

静态代理,从字面理解就是预先已经写好了代理。而动态代理是在运行时动态生成的,这种方式更加灵活。现在很多框架都用到了动态代理,比如Retrofit2,还有很多插件化的框架。下面我们就讲解下通过jdk来实现动态代理的功能。

首先创建一个接口,然后再创建一个实现类,如下:

下面我们就要通过jdk的代理来实现对MyCar对象的代理,通过代理来修改对象的函数执行逻辑:

最后执行的结果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,355评论 25 709
  • title: Jdk动态代理原理解析 tags:代理 categories:笔记 date: 2017-06-14...
    行径行阅读 19,511评论 3 36
  • 想起一个很遥远的词,从前—— 从前,青墙黛瓦,燕儿在梁间呢喃 从前,黄昏晚霞,牧童的口哨声,嘹亮南北 从前,门前站...
    林清洛阅读 1,427评论 11 11
  • 曾经你对这个社会焦虑、恐惧、惶恐、失望过吗? 有一位朋友在最近的日记中写下了这么一段话: “当我的才华足够撑起我的...
    雅雅8阅读 2,720评论 0 0
  • 我咬开我的食指,在白布上写了一道符。叠成一个倒三角形。让孩子戴在身上可减去一些麻烦事。 我脸色发白坐在床上,胖子
    六加六阅读 1,418评论 0 0

友情链接更多精彩内容