don‘t call me ,i will call you,代码怎么就知道什么时机调用呢?
约定……约定啊……建议你看看观察者模式
比如你给按钮添加一个 action listener
button.addActionListener(new ActionListener() {
public actionPerformed(ActionEvent e) {
// do something
}
});
约定按钮在按下的时候会触发 action listener,所以你在加的时候,就已经知道了什么时候会调用。虽然不明白具体是哪个时间点,但是你知道如果发生了什么事情,就会调用。
15 回答8.3k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
一般框架都有设置 callback/hook 的接口, 当框架内某个事件发生时, 就会调用用户设置的回调.
例如下面的一个简单例子:
其实就是有点像事件驱动或观察者模式, 框架保存有用户的回调接口, 而这个接口就承担了框架和用户代码沟通的桥梁, 当框架检测到某个事件发生后, 通过此回调接口来通知用户代码.