一,本章目标
掌握动态代理的作用
掌握InvocationHandler接口和Porxy类的作用
二,具体内容
代理设置:一个操作的接口有两个子类,一个是其真实主题的实现类,另外一个是代理类,代理实现类要完成比真实主题类更多的内容,而且本身还需要处理一些与具体业务逻辑有关的程序代码。
以上的代码操作实际上是 称为静态代理,因为一个代理类智能为一个接口服务,那么如果现在有很多个接口的话,那么则肯定代理类就很多了。而且,所有的代理类操作除了调用的方法不一样之外,其他的操作都是一样,则此时肯定是重复代码。
为了解决这个问题,引入了动态代理机制。
可以将InvocatioHandler接口的子类想象成一个代理的最终操作类,替换掉ProxySubject
如果想要得到一个加载器对象,则肯定要使用Class类来完成。
总的代码修改如下:
三,总结
此时,使用动态代理就可以完成代理功能,而且可以代理全部的接口