使用 Java 中的接口进行回调\
java programming java8object oriented programming更新于 2024/10/22 23:14:00
在事件驱动编程的情况下,我们将引用传递给一个函数,该函数将在事件发生时被调用。此机制称为回调。Java 不支持函数指针。所以我们无法实现相同的方向。但使用接口,我们可以非常轻松地实现相同的目标。
在下面的示例中,我们在单击按钮时进行了回调。参见步骤 −
创建一个具有单一方法 handleClick() 的接口 ClickEventHandler。
创建一个实现此接口 ClickEventHandler 的 ClickHandler 类。
创建一个 Button 类,当其 click 方法被调用时,它将调用 ClickHandler。
测试应用程序。
示例
//步骤 1:为回调方法创建一个接口 interface ClickEventHandler { public void handleClick(); } //步骤 2:创建回调处理程序 //实现上述接口 class ClickHandler implements ClickEventHandler { public void handleClick() { System.out.println("Clicked"); } } //步骤 3:创建事件生成器类 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(); //传递 clickHandler 执行默认操作 button.onClick(clickHandler); Button button1 = new Button(); //传递接口实现自己的操作 button1.onClick(new ClickEventHandler() { @Override public void handleClick() { System.out.println("Button Clicked"); } }); } }
输出
Clicked Button Clicked