java中看回调函数,总是感觉别扭,写一个多看看。。
- 定义一个回调接口,不写实现
- 在midMethod方法声明时将回调接口作为参数传入使用
- 在实际调用时以匿名内部类的方式实现回调
interface Callback{
void success(String data);
void failed(String msg);
}
static void midMethod(int result, Callback callback) {
System.out.println("result-->".concat(String.valueOf(result)));
if (result>0) {
callback.success("happy-face");
} else {
callback.failed("I fell so sad!");
}
}
public static void main(String[] args) {
midMethod(1+2, new Callback() {
@Override
public void success(String data) {
System.out.println("success--> ".concat(data));
}
@Override
public void failed(String msg) {
System.out.println("failed--> ".concat(msg));
}
});
}
网友评论