JavaScript-Java:这种被称作回调函数的编程方式的优点在哪里呢?

发布于 2017-06-02 01:12:31 字数 78 浏览 1262 评论 1

创建回调接口

public interface ICallBack {
void run();
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

虐人心 2017-10-18 15:41:38

其实这就是一种高阶函数。就像从过程代码的常量抽像成参数就可能得到一个可重用的函数,高阶函数不过是把函数作为参数,你得到的也是一个可重用的函数,这个函数不是根据参数进行相应操作,而是把操作交给了参数(因为这里的参数也是函数)。

如果你的Controller里写死了在每行输入后输出时间,那Controller就单一用途的。现在通过回调,你至少还能替换掉在每行输入后要执行的操作。

一般化之后就是观察者模式、策略模式、IOC。

Java 8应该可以这样写了:

 Controller obj = new Controller(() -> System.out.println(System.currentTimeMillis()));

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文