简单解析三种JAVA调用方式-同步,异步,回调
模块之间有三种调用方式:
1、同步调用
同步调用很简单,就是直接调用方法B,必须等到方法A执行完才会继续执行原程序。
2、异步调用
异步调用,就是在A程序中给程序B一个实现,当B运行的时候,在满足条件的情况下能够调用A程序中的实现。举例说明
public interface Food { void eat(); } public class Cow implements Food { @override void eat() { syso("eat cow"); } } public class Tiger { private Food food; public void setFood(Food food) { this.food =food; } void hungry() { syso("hungry"); if(eat!=null)food.eat(); } public void static main(String[] args) { Tiger tiger=new Tiger(); tiger.setFood(new Cow()); tiger.hungry(); } }
老虎饿了,假如有食物就可以吃它,现在牛就相当于程序A 实现了这个接口,
老虎就相当于程序B,里面包含这个接口,
现在将牛送到老虎的嘴边,就是setFood
老虎饿了就要吃牛了,这个时候就调用了A程序实现的这个接口。
3、回调
这个写过android程序的肯定会非常熟悉啦,回调其实就是上面两个的组合。
比如一般我们在实例化一个Button类,会给它设置一个OnClickListener,这个就相当于上面的异步调用,但是这个异步调用又是由Button自己引发的,button的 performClick()模拟点击事件然后会执行自定义的OnClickListener。
小弟菜鸟一枚,初来乍到,有什么错误还望各位大神不吝指出,^_^。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步