昨,小朋友问我回调,遂粗粗写了个例子, 写写代码,挺爽.
先准备一个接口
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();
}
}
本文通过一个简单的Java回调示例,介绍了回调接口的定义及其实现方式。首先定义了一个回调接口`Callback`,接着创建了一个持有该回调接口的`Man`类,并在其中调用回调方法。最后,在`Robot`类中实现了`Callback`接口,并展示了如何通过匿名内部类和直接实现的方式使用回调。
8765

被折叠的 条评论
为什么被折叠?



