在回调中java必须使用回调接口吗?

时间:2015-12-02 03:52:10

标签: java android callback

在某些语言中,您可以将函数(回调)传递给function-foo,并让function-foo调用回调函数。

在android,java世界中,我看到了创建回调类的教程并传递了回调类的实例。

我当然可以使用它,但定义callback-interface-class并传递它会更麻烦。

每次我需要使用回调功能时,是否必须定义自定义回调接口?

我是否至少可以使用预定义的回调接口?

**编辑**

我可以使用一些预定义的PredefinedCallback吗?

fooClass.fooMethod(new PredfinedCallback() {
  public void onComplete(JsonObject result) {
  };
})


void fooMethod(PredefinedCallback callback) {
  onSomeAsyncWorkComplete(
      callback.onComplete(result);
  );
}

Ion FutureCallback似乎是一种我可以使用的好形式 虽然我不知道如何在我的代码中使用FutureCallback而不是作为离子请求的回调。

1 个答案:

答案 0 :(得分:0)

在JVM语言中,回调是作为接口(通常)或抽象类(很少)的方法调用实现的;没有与对象无关的自由浮动函数。 (函数类库通常使用Function这样的单个方法定义接口apply,然后可以像任何其他对象一样传递Function个对象。)

Java 7(Java中最新版本)不提供任何便利功能来实现回调。您可能有兴趣使用Groovy,它支持使用闭包(内联函数)作为回调函数的实现。