
获得徽章 0
- 自学Java第54天
终于学到动态代理了
这应该是JavaSE里面最难懂的知识点了
学它之前最好先弄懂装饰设计模式
什么是装饰设计模式?
用简单的一句话来说明就是:
装饰者,被装饰者,装饰者将方法增强。
如何理解这句话?
就可以用Java中的继承来理解:
子类相当于装饰者
父类相当于被装饰者
子类重写父类相当于方法增强
只不过就代码程层面而言
装饰设计模式比继承更加地具有拓展性
动态代理和装饰设计模式比较像
代理类就相当于装饰者
被代理类就相当于被装饰者
严格上说装饰设计模式就是一种静态代理
如何理解静态动态?
静态就是代理类是已经创建了的
动态就是代理类本身是没有创建的
那动态代理中代理类对象是如何获取的呢?
代理:Proxy,本身就是Java里的一个类
它有一个静态方法newProxyInstance()
将这个方法完全弄懂了也就弄懂了动态代理
其中该方法有三个参数:
被代理对象对应的类加载器
被代理对象对应的接口
其中都是利用反射技术获取对应的Class对象
还有一个InvocationHandler接口
调用处理器,它里面有一个invoke方法
该方法就是补充说明第二个参数接口的
根据具体的业务填充上业务逻辑
总之还是得多敲代码,多练几遍多写几遍就好了展开1614 - 335
- ChinaMobilePhoneNumberRegex: 一组匹配中国大陆手机号码的正则表达式。评论39
- 评论27
- 堪称手机上的 Illustrator,Vectornator Pro 限免。支持 iPhone 和 iPad,并能够导出 AI 格式文件,可以和电脑上的 AI 配合使用:¥50.00→免费: Vectornator Pro
itunes.apple.com
211