文档详情

JAVA回调机制(CallBack)详解.doc

发布:2016-12-10约7.28千字共9页下载文档
文本预览下载声明
JAVA回调机制(CallBack)详解 第1章. 故事的缘起 幼师在黑板上写一个式子 “1 + 1 = ”,由小明同学来填空。 由于已经学习了10以内的加法,小明同学可以完全靠自己来计算这个题目,模拟该过程的代码如下: 复制代码 1 public class Student 2 { 3 private String name = null; 4 5 public Student(String name) 6 { 7 // TODO Auto-generated constructor stub 8 = name; 9 } 10 11 public void setName(String name) 12 { 13 = name; 14 } 15 16 private int calcADD(int a, int b) 17 { 18 return a + b; 19 } 20 21 public void fillBlank(int a, int b) 22 { 23 int result = calcADD(a, b); 24 System.out.println(name + 心算: + a + + + b + = + result); 25 } 26 } 复制代码 小明同学在填空(fillBalnk)的时候,直接心算(clacADD)了一下,得出结果是2,并将结果写在空格里。测试代码如下: 复制代码 1 public class Test 2 { 3 public static void main(String[] args) 4 { 5 int a = 1; 6 int b = 1; 7 Student s = new Student(小明); 8 s.fillBlank(a, b); 9 } 10 } 复制代码 运行结果如下: 小明心算:1 + 1 = 2 该过程完全由Student类的实例对象单独完成,并未涉及回调机制。 第2章. 幼师的找茬 课间,幼师突发奇想在黑板上写了“168 + 291 = ”让小明完成,然后回办公室了。 花擦!为什么所有老师都跟小明过不去啊?明明超纲了好不好!这时候小明同学明显不能再像上面那样靠心算来完成了,正在懵逼的时候,班上的小红同学递过来一个只能计算加法的计算器(奸商啊)!!!!而小明同学恰好知道怎么用计算器,于是通过计算器计算得到结果并完成了填空。 计算器的代码为: 复制代码 1 public class Calculator 2 { 3 public int add(int a, int b) 4 { 5 return a + b; 6 } 7 } 复制代码 修改Student类,添加使用计算器的方法: 复制代码 1 public class Student 2 { 3 private String name = null; 4 5 public Student(String name) 6 { 7 // TODO Auto-generated constructor stub 8 = name; 9 } 10 11 public void setName(String name) 12 { 13 = name; 14 } 15 16 @SuppressWarnings(unused) 17 private int calcADD(int a, int b) 18 { 19 return a + b; 20 } 21 22 private int useCalculator(int a, int b) 23 { 24 return new Calculator().add(a, b); 25 } 26 27 public void fillBlank(int a, int b) 28 { 29 int result = useCalculato
显示全部
相似文档