平凡也就两个字: 懒和惰;
成功也就两个字: 苦和勤;
优秀也就两个字: 你和我。
跟着我从0学习JAVA、spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美!
关注微信公众号【 IT特靠谱 】,每一篇文章都是心得总结,跟我学习你就是大牛!
Java代理【图文教程】_第2章
---jdk动态代理
1 jdk动态代理实现步骤
jdk中对jdk动态代理提供了默认支持,使用jdk动态代理的步骤如下:
1)定义代理接口(ISubject)。jdk动态代理不能创建非接口实现类的代理,因为动态生成的代理类的class字节码文件反编译后代理类会继承Proxy类并自定义的代理接口,如果委托类继承了抽象类或委托类是普通类,那么就违反java单继承的原则!!
2)定义委托类,实现代理接口和接口方法;
3)实现InvocationHandler接口来自定义自己的InvocationHandler;
4)通过Proxy.newProxyInstance()方法创建代理对象并实例化动态代理类对象后返回;
5)测试jdk动态代理类:通过代理对象调用代理方法;
2 代码实战
2.1 定义代理接口
创建代理接口类:ISubject.java
2.2 定义委托类
创建代理类:SubjectImpl.java
2.3 定义自定义InvocationHandler类
自定义MyInvocationHandler类:MyInvocationHandler.java
2.4 测试类
测试类:Main.java
如果想要深入追踪学习jdk动态代理的源码,关注下面公众号,获得你想要的一切~