21xrx.com
2024-06-02 22:40:44 Sunday
登录
文章检索 我的文章 写文章
Java回调机制示例
2023-07-10 17:11:45 深夜i     --     --
Java 回调 机制 示例 事件处理

Java回调机制是一种常用的软件设计方式,它允许某个对象在发生某些事件时,调用另一个对象中的特定函数。

下面是一段Java回调机制的示例代码:


interface EventListener {

  void onEvent(String event);

}

class EventSource {

  private EventListener listener;

  public void setEventListener(EventListener listener)

    this.listener = listener;

  

  public void foo() {

    // some code here

    if (listener != null) {

      listener.onEvent("foo is done");

    }

  }

}

class EventProcessor implements EventListener {

  @Override

  public void onEvent(String event) {

    System.out.println("event received: " + event);

  }

}

public class CallbackDemo {

  public static void main(String[] args) {

    EventSource source = new EventSource();

    EventProcessor processor = new EventProcessor();

    source.setEventListener(processor);

    source.foo();

  }

}

EventSource是一个事件源,它向外提供了foo方法。当调用foo方法时,EventSource会发出一个事件。接着,如果EventSource中listener不为null,那么就会调用listener的onEvent方法,参数是一个字符串。

EventProcessor是一个事件处理器,实现了EventListener接口。当EventSource发出一个事件时,EventProcessor就会接收到并处理事件。在此示例中,EventProcessor只是将事件打印出来。

CallbackDemo是一个主类,用于演示回调机制的使用。在main方法中,创建了一个EventSource对象和一个EventProcessor对象。接着,将EventProcessor对象设置成了EventSource的listener,并调用了EventSource的foo方法。这样,当foo方法执行完成后,就会触发EventProcessor的onEvent方法,并将事件内容传递给它。

总结一下,Java回调机制是一种事件驱动的编程模型,它允许某个对象在发生某些事件时,调用另一个对象中的特定函数。在实际开发中,我们可以利用回调机制来实现很多有趣的功能,比如GUI事件处理、网络通信等等。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复