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

  • 相关阅读:
    【leetcode】299. 猜数字游戏
    【leetcode】300. 最长递增子序列
    【leetcode】223. 矩形面积
    【leetcode】222. 完全二叉树的节点个数
    【leetcode】229. 求众数 II
    【leetcode】215. 数组中的第K个最大元素
    【leetcode】221. 最大正方形
    【leetcode】216. 组合总和 III
    【leetcode】213. 打家劫舍 II
    【leetcode】210. 课程表 II
  • 原文地址:https://www.cnblogs.com/maydow/p/4740831.html
Copyright © 2020-2023  润新知