回调机制作为Java学习甚至是语言学习中一种很重要的思想,用处十分广泛,在Android的开发中有大量的回调实现,为了使回调更加明显,我们使用多线程来实现一个简单的回调机制,程序的逻辑如下:
首先通知Test1来计算1+....+100=? Test1新建了一个Tools线程去计算这个事情而自己在打印“...",当Tools计算好这个结果之后通知Test1设置好的回调函数来打印结果
程序如下:
首先通知Test1来计算1+....+100=? Test1新建了一个Tools线程去计算这个事情而自己在打印“...",当Tools计算好这个结果之后通知Test1设置好的回调函数来打印结果
程序如下:
public class Test1 implements Runnable {
private Boolean flag = true;
private int n = 0;
public Test1(int n) {
// TODO Auto-generated constructor stub
this.n = n;
}
public void sum() {
// 2.sum()被run调用,通知Tools计算,并将自己作为参数传递进去(为方便传递n值和回调函数本身)
new Thread(new Tools(this)).start();
// 3.自己开始打印" . "
System.out.print("正在计算");
while (flag) {
System.out.print(".");
try {
Thread.sleep(400);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// System.out.println("计算结束");
}
public vo