昨,小朋友问我回调,遂粗粗写了个例子, 写写代码,挺爽.
先准备一个接口
public interface Callback {
void call(String msg);
}
在准备一个类
public class Man {
Callback callback;
public Man(Callback callback) {
this.callback = callback;
}
public void command(String order){
System.out.println("Man.command()发命令");
callback.call(order);
}
}
最后:
public class Robot implements Callback {
static void a() {
Callback callback = new Callback() {
@Override
public void call(String msg) {
System.out.println("接受的任务是:" + msg);
System.out.println("做完(a)");
}
};
Man man = new Man(callback);
man.command("洗尿布");
}
}
就这,就这么简单.
下面上整个Robot类
public class Robot implements Callback {
static void a() {
Callback callback = new Callback() {
@Override
public void call(String msg) {
System.out.println("接受的任务是:" + msg);
System.out.println("做完(a)");
}
};
Man man = new Man(callback);
man.command("洗尿布");
}
//---------------b()----------------------------
static void b() {
Man man = new Man(new Robot());
man.command("冲奶粉");
}
@Override
public void call(String msg) {
System.out.println("接受的任务是:" + msg);
System.out.println("完成(b)");
}
//---------------b() over--------------------
static int i = 1;
static int ii = 2;
static void c() {
Callback callback = new Callback() {
@Override
public void call(String msg) {
int count = i + ii;
System.out.println("接受的任务是:" + msg);
System.out.println(count);
}
};
Man man = new Man(callback);
man.command("计算");
}
public static void main(String[] strs) {
a();
b();
c();
}
}