Java回调机制(回调)详解及实例代码

  

<强>,Java回调机制

  

<强>概要:

  

最近学习java,接触到了回调机制(回调)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给回调做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按照由浅到深的顺序描述一下,如有不妥之处,望不吝赐教!

  

开始之前,先想象一个场景:幼稚园的小朋友刚刚学习了10以内的加法。

  

<强>第1章。故事的缘起

  

幼师在黑板上写一个式子“1 + 1=?由小明同学来填空。

  

由于已经学习了10以内的加法,小明同学可以完全靠自己来计算这个题目,模拟该过程的代码如下:

        公开课的学生   {   私人字符串名称=零;      公开学生(字符串名称)   {//TODO自动生成构造函数存根   this.name=名称;   }      公共空间setName(字符串名称)   {   this.name=名称;   }      私人int calcADD (int, int b)   {   返回一个+ b;   }      公共空间fillBlank (int, int b)   {   int结果=calcADD (a, b);   system . out。println(名字+“心算:" + + " + " + b +”=?结果);   }   }      之前      

小明同学在填空(fillBalnk)的时候,直接心算(clacADD)了一下,得出结果是2,并将结果写在空格里。测试代码如下:
  

        公开课测试   {   公共静态void main (String [] args)   {   int=1;   int b=1;   学生s=新学生(“小明”);   年代。fillBlank (a, b);   }   }   之前      

运行结果如下:
  

        小明心算:1 + 1=2   之前      

该过程完全由学生类的实例对象单独完成,并未涉及回调机制。

  

<强>第2章。幼师的找茬

  

课间,幼师突发奇想在黑板上写了“168 + 291="让小明完成,然后回办公室了。

  

花擦!为什么所有老师都跟小明过不去啊?明明超纲了好不好!这时候小明同学明显不能再像上面那样靠心算来完成了,正在懵逼的时候,班上的小红同学递过来一个只能计算加法的计算器(奸商啊)! ! ! !而小明同学恰好知道怎么用计算器,于是通过计算器计算得到结果并完成了填空。

  

计算器的代码为:

        公开课的计算器   {   公共int添加(int, int b)   {   返回一个+ b;   }   }   之前      

修改学生类,添加使用计算器的方法:
  

        公开课的学生   {   私人字符串名称=零;      公开学生(字符串名称)   {//TODO自动生成构造函数存根   this.name=名称;   }      公共空间setName(字符串名称)   {   this.name=名称;   }      @SuppressWarnings(未使用)   私人int calcADD (int, int b)   {   返回一个+ b;   }      私人int useCalculator (int, int b)   {   返回新计算器()。添加(a, b);   }      公共空间fillBlank (int, int b)   {   int结果=useCalculator (a, b);   system . out。println(姓名+”使用计算器:" + + " + " + b +”=?结果);   }   }      之前      

测试代码如下:
  

        公开课测试   {   公共静态void main (String [] args)   {   int=168;   int b=291;   学生s=新学生(“小明”);   年代。fillBlank (a, b);   }   }   之前      

运行结果如下:
  

        小明使用计算器:168 + 291=459   之前      

该过程中仍未涉及到回调机制,但是部分小明的部分工作已经实现了转移,由计算器来协助实现。

  

<强> 3。幼师回来了

  

发现小明完成了3位数的加法,老师觉得小明很聪明,是个可塑之才,于是又在黑板上写下了“26549 + 16487=",让小明上课之前完成填空,然后又回办公室了。

  

小明看着教室外面撒欢儿的小伙伴,不禁悲从中来。再不出去玩,这个课间就要废了啊! ! ! !看着小红再一次递上来的计算器,小明心生一计:让小红代劳。

Java回调机制(回调)详解及实例代码