简单解析三种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。

原文地址:https://www.cnblogs.com/maydow/p/4740831.html