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