使用 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
广告