使用 Java 中的接口进行回调\n
在事件驱动编程的情况下,我们传递了一个函数引用,该函数将在发生事件时被调用。此机制称为回调。Java 不支持函数指针。因此,我们不能实现相同的方向。但使用接口,我们可以非常容易地实现相同的功能。
在下面的示例中,我们在单击 button 时进行了回调。请看步骤−
创建一个接口 ClickEventHandler,其中包含一个方法 handleClick()。
创建一个 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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP