java - 为什么要使用回调方法进行多态

标签 java interface callback

我有一个回调接口(interface)。

public interface CallBack{
  void executeforConn();
}

abstract class CallbackImpl implements Callback {     
  void executeforConn(){
    executeStatements();
  }

  abstract void executeStatements();
}

在调用者中调用回调。

new CallbackImpl{
  @Override
  executeStatements(){
    //extend the method
  }
}

Callback callback = new CallbackImpl();
callback.executeforConn();

调用者调用回调方法的实现。我不明白为什么它被称为回调方法。我知道通过使用接口(interface),您可以灵活地向调用者注册任何实现 CallBack 的类。它不必只是 CallBackImpl。

最佳答案

What I do not understand why is it called a callback method.

它被称为“回调”,因为它允许您传递对象的方法“回调”到您的代码。

有关回调的目的和使用的更详细说明,请阅读 Wikipedia article关于回调。

Why callback method is used for polymorphism

回调接口(interface)和(多个)实现可以被视为多态性的(相当无趣的)示例;例如一个回调 API 具有多种实现不同行为的实现。

关于java - 为什么要使用回调方法进行多态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45881628/

相关文章:

java - Java中基于属性的压缩ArrayList

java - BinaryRelation接口(interface)

ruby-on-rails - 保存 active_record 而不在 rails3 中调用回调

jQuery的toggleClass回调如何实现?

javascript - 如何在 JavaScript 中向具有多个异步调用的函数添加回调?

java - 令人困惑的 Java 同步方法、同步(this) 和同步类

java - 如何在 Spark sql 中舍入值

java - 如何使用多线程处理存储在本地磁盘中的大量文件(使用文件锁)

c# - 是否可以统一删除重复注册?

c++ - 当有其他虚拟基类时如何避免对基类函数的模糊调用