为什么需要动态代理?--本文以明星和经纪人为例。
对象身上功能太多,需要通过代理来实现部分功能。(当然代理本身无法执行这些功能,而是调用)
经纪人(代理)如何知道是唱歌还是跳舞(明星自己的能力),这就需要接口来实现。
以xxx唱歌、跳舞为例,实现本案例动态代理
1.对象定义
明星接口的定义(方便调用)---- 里面都是抽象方法----与明星对象是其实现类,完成功能定义
当用户调用这些抽象方法时,就会去找经纪人(代理)实现相关功能
2.实现代理
主要就是创建对象,然后再进行传参。第三个参数尤其要注意!!! 其用来指定生成的代理对象能干什么事。参数三是一个回调方法,可以在别处调用,这也是代码的主体。