为了账号安全,请及时绑定邮箱和手机立即绑定

模式的秘密---代理模式

难度中级
时长 2小时 0分
学习人数
综合评分9.70
184人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.7 逻辑清晰

最新回答 / 慕粉1471573360
最后一个参数是必须实现了InvactionHandler接口的对象,通过newProxyInstance函数返回proxy的实例是调用实现了InvactionHandler接口对象重写的invoke方法,而此方法中里面的参数对象是被代理类的实现了某个接口的具体方法,通俗一点就是中介的角色,具体干实事是被代理类实现某接口的具体方法,当然在invoke方法中可以加入一些业务逻辑代码,也是就是spring框架里面的aop通知实现的原理

最新回答 / 慕函数3178513
直接在类内new一个对象是不好的,如果你在类内new一个对象,无论你怎样使用这个类,里边的对象都是定义好的,但是如果想把类里边的对象换成一个已经定义好的对象就没有办法了。不知道你能不能听懂?

最新回答 / qq_曉月姑蘇_0
//创建代理对象,因为代理代理对象实现的都是同一个接口所以产生的代理对象是实现的接口,变现了多态的作用Proxy.newProxyInstance(加载器,实现的接口,处理器);加载器:就是类加载器实现接口:就是car中继承的接口处理器:就是我们写的那个处理器,TimeHanlder

最新回答 / qq_曉月姑蘇_0
完全不一样了,jdk动态代理是通过接口,只有接口实现了实现类,才可以用jdk进行代理:cglib是通过类,通过拦截技术拦截父类调用的技术,在创建子类进行覆盖,jdk和cglib是完全不一样的2个概念

最赞回答 / 梦编猿
看下条件值。【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】

最赞回答 / 我是小青年
我在其它地方(chuanzhi,打名字不让我发)中看到了,这个回调函数就是给代理类执行时需要运行这个方法intercept,那么穿本类的实例进去,之后就会回调这个方法,实现动态代理。<...code...>

最新回答 / 时光青年依旧蓝
你可以这么单纯的分开理解,就是A代理B  B有代理C  ,如果作者把new Car()影藏起来的话或许就看不出来是装饰者模式了

最新回答 / windy_yong
再重新试了一下,两个其实都行,我之前出现不行的情况,是因为我的包名为Proxy.com.imooc.chapter3_1.XXX,然后包路径下同时有一个Proxy的类,所以可能导致了无法正确解析Proxy是一个包还是一个类,如果修改为正确的话那么两种方法都可以,从这里可以看出我们日常命名规范的一些重要性给出一个类似的例子:package proxy.com.imooc.test;/** * Created with IntelliJ IDEA. * @author Wind * @version V1.0...
课程须知
本课程是 Java 开发课程的高级课程,希望各位小伙伴们在学习本课程之前,了解以下内容: 1)初步具备面向对象的设计思维 2)了解多态概念 3)了解反射
老师告诉你能学到什么?
1、代理模式概念机分类 2、代理模式应用场景 3、掌握静态代理、动态代理运用 4、理解JDK动态代理实现原理

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消