Java 中使用接口回调\n
在事件驱动编程中,我们将引用传递给一个函数,该函数将在事件发生时被调用。此机制称为回调。Java 不支持函数指针。因此我们无法实现相同的方向。但使用接口我们可以非常轻松地实现相同的功能。
在下面的示例中,我们在按钮被点击时创建了一个回调。请参阅步骤 −
创建一个具有单个方法 handleClick() 的接口 ClickEventHandler。
创建一个 ClickHandler 类,该类实现了此接口 ClickEventHandler。
创建 Button 类,该类将在调用其 click 方法时调用 ClickHandler。
测试应用程序。
示例
//Step 1: Create an interface for the callback method
interface ClickEventHandler {
public void handleClick();
}
//Step 2: Create a callback handler
//implementing the above interface
class ClickHandler implements ClickEventHandler {
public void handleClick() {
System.out.println("Clicked");
}
}
//Step 3: Create event generator class
class Button {
public void onClick(ClickEventHandler clickHandler) {
clickHandler.handleClick();
}
}
public class Tester {
public static void main(String[] args) {
Button button = new Button();
ClickHandler clickHandler = new ClickHandler();
//pass the clickHandler to do the default operation
button.onClick(clickHandler);
Button button1 = new Button();
//pass the interface to implement own operation
button1.onClick(new ClickEventHandler() {
@Override
public void handleClick() {
System.out.println("Button Clicked");
}
});
}
}输出
Clicked Button Clicked
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP