在我们之前学习的JDK动态代理,基本上已经可以在不修改源代码的情况下,添加新的功能,但是,有一个致命的缺点:
那就是在代理的过程中,我们是通过传入接口,底层实现接口,才能实现功能添加的效果,那么他致命的缺点就是必须要依赖接口,如果遇见没有接口的,那么jdk动态代理就无法实现;
因为这个并不是JDK提供的, 需要导包,
另外两个包就是解析jar文件的,如果已经导入,可以忽略
创建一个类,写入方法
创建代理类
上面图片出现错误,在进行设置父类传入的对象是o,但是,我们在调用目标函数的时候,传入却是代理对象的o,修改如下
在代理类下添加如下代码,让代码生效
编写如下测试代码,实现效果