在这里写下自己对接口回调的理解
我写的是对此篇文章里的简单例子的理解:https://blog.csdn.net/u010566681/article/details/52371359
首先
回调接口:CallBack. 把这个接口想象成了一个手机,
接口里的方法:doSomeThing() 把这个方法想象成了手机操作系统
接口帮助类:CallBackUtils就是更加具体一点的类了
接口帮助类里的方法:setCallBack()就是说 设置这个手机具体是谁的手机.
doCallBackMethod()就可以想象成为这个手机设置操作系统
而在SimpleCallBackTest这个类里的doSomeThing()就是说接受doCallBackMethod()的手机操作系统的设置
比如说,收到设置,将操作系统设置为Android
=====================分割线=========================
又有所顿悟,如下图:
首先,我们声明了一个接口.这时不用怎么管这个接口,就把它当作空气
接着我们看第三步,它调用了第二步中的一个方法getData(),需要传递一个参数,这是一个接口对象.
所以我们就new了一个对象.而这个对象的实现又有点特殊.因为我们需要实现这个接口里的方法,getResult()
在之前,我一直以为只要执行到了new 对象这一步的话,这里边的getResult()方法也就被执行了,而这个方法的参数result还没有值呐!所以就一直想不明白
终于,我有点顿悟了.
在new 对象的时候,并非就直接执行了里边的方法,而只是简单的传递了对象而已,而这个对象被传递到了第二步中的方法时,有一个步骤很关键.callback.getResult(msg);当执行到这一步时 才会回去调用(我想这就是回调吧,全称!回去调用)我们实现的接口方法getResult().而这时我们的方法里的参数result也就有了.我们也就在另一个类里获得了数值