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

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

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

最新回答 / 翎栋
### 前置基础知识- 具备面向对象设计思维- 了解多态的概念- **了解反射机制**可以再看看java反射机制

最赞回答 / qq_为了美好的明天
你点开相应的$Proxy0.class文件看一下真实路径(画黄线的部分是)<...图片...>

已采纳回答 / 微博搞笑排行榜
个人理解:一群鸟,他们区分自己与兔子的区别是看有没有翅膀。 如果对方有翅膀(接口) 就视为自己人,可以一起飞...同样,他们实现同样的接口 再传参的时候就避免了不同类的差异性(因为参数类型是那个接口)我 可能理解的不到位 ,那样的话 还请指正 我是小白

最新回答 / 慕斯1939483
invocationHandler源码:public Object invoke(Object proxy, Method method, Object[] args)        throws Throwable;有参数时会传进去参数值,当没有参数时,可以理解为参数值为null(也就是m.move()使用时,可以理解为也会有个参数,只是值是null)也就是说:视频里m.invoke(target) == m.invoke(target,null)测试时:m.move("200");

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

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

最新回答 / qq_曉月姑蘇_0
//创建代理对象,因为代理代理对象实现的都是同一个接口所以产生的代理对象是实现的接口,变现了多态的作用Proxy.newProxyInstance(加载器,实现的接口,处理器);加载器:就是类加载器实现接口:就是car中继承的接口处理器:就是我们写的那个处理器,TimeHanlder
课程须知
本课程是 Java 开发课程的高级课程,希望各位小伙伴们在学习本课程之前,了解以下内容: 1)初步具备面向对象的设计思维 2)了解多态概念 3)了解反射
老师告诉你能学到什么?
1、代理模式概念机分类 2、代理模式应用场景 3、掌握静态代理、动态代理运用 4、理解JDK动态代理实现原理

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消