【java】callback

java callback

1)可以利用Runnable


//当然我们可以借用下边的线程知识Runnable
void doSomething(Runnable callback){// 执行其他代码callback.run(); 
}// 参数内的实现实际上就是run方法
doSomething(()-> System.out.println("Hello"));

2)可以用Callable

public void doSomething(Callback callback) {String result = callback.call();    // 使用result做些事情
}// 参数内的实现实际上就是call方法
doSomething((name) -> {return "Hello " + name;
});

3)可以定义泛型

//是为了说明后边的T , 不是T.class而是泛型
//即值不确定,返回和传入啥是啥
 T doSomething(Callable callable) {  T result = callable.call(); return result;
}String result = doSomething(()-> {System.out.println("Doing something...");return "Done!";   
});

4)通过interface实现

interface Callback {void onComplete(String result);
}
class MyTask {//将callback作为参数传入void execute(Callback callback) {// 执行异步任务String result = "Task result";// 执行完毕后调用回调方法callback.onComplete(result);}
}public class Main {public static void main(String[] args) {MyTask task = new MyTask();//new 展开拿到上述异步操作的结果//在执行的时候实现,和在外部实现再给他是一样的,都相当于定义task.execute(new Callback() {public void onComplete(String result) {System.out.println(result);}});}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部