解析Java中的回调

来源:互联网 发布:淘宝店铺被投诉售假 编辑:程序博客网 时间:2024/06/03 23:48

前言:

我为什么要写这篇博客?之前也多次碰到过接口、回调这些概念,也尝试一下去理解了一下感觉还是有点难,于是在后面的学习过程中碰到这两个概念总是能略过就略过。不过随着学习的加深(之前看老罗的视频 对okHttp的封装)又用到了回调这个概念了。没办法只能硬着头皮去学习着两个概念了。在网上也看了很多关于Java回调的博客。感觉将的较清楚就是我之前转载的一篇文章。经理通知工人生产的例子。但是看了后就一个结果--这种回调机制很好。但是还是有个疑问?为什么会想到这样做?聪明的我突然就想到了,N年前待开发者是不是这样想的?

一、创建

创建一个 Aa类 ,和一个Bb类。

在Aa类中 调用Bb类的 judgeIsHandsome() 方法

judgeIsHandsome() 方法又调用了内部的一个方法

A类:


B类:


输出结果:

结果很好输出的是我想要的结果


二、不想输出是的很帅,而是想让他输出“是真的帅怎么办”?

有同学就说了直接把B类的 isHandsome() 中输出的内容改了不就好了吗?

好的我们试一下~


结果:


结果就是我们想要得到的。

三、如果这时候C类或者D类 也调用了B类中的这个方法,并且他不想输出 “是的很帅”怎么办?

解决思路:

在isHandsome 这个方法中 添加判断来打印不同的话

结果: 显然对于事件种类较少时是一个不错的方法。但是万一事件种类很多而且每次都不同怎么办(按钮的点击事件)

四、最佳的解决办法

让这个 isHandsome 让调用者自己来实现~

我们改下代码



五、Java回调是什么设计模式

用 baidu 查了一下 回调的设计模式

不对!是 google 了一下(听说优秀的程序员都用Google),

果然还真有 它叫观察者模式,至于是什么以后再讨论~(因为我还没学 哈哈~)

最后,既然说我会使用谷歌那肯定要用到v p n 啦,这里推荐一款新手使用的 蓝.灯 vpn。





1 0