一尘不染

Java中的回调方法是什么?(该术语似乎被宽松地使用)

spring-mvc

我不明白什么是回调方法,而且我听过人们很随意地使用该术语。在Java世界中,什么是回调方法?如果有人可以提供一些有关Java回调方法的示例代码并提供解释,那将对我的Java学习之旅有很大帮助。

先感谢您。


阅读 334

收藏
2020-06-01

共1个答案

一尘不染

回调是一段代码,您可以将它作为参数传递给其他代码,以便执行它。由于Java尚不支持函数指针,因此它们被实现为Command对象。就像是

public class Test {
    public static void main(String[] args) throws  Exception {
        new Test().doWork(new Callback() { // implementing class            
            @Override
            public void call() {
                System.out.println("callback called");
            }
        });
    }

    public void doWork(Callback callback) {
        System.out.println("doing work");
        callback.call();
    }

    public interface Callback {
        void call();
    }
}

回调通常会保留对某些状态的引用才真正有用。

通过使回调实现具有对代码的所有依赖关系,您可以在代码与执行回调的代码之间获得间接访问。

2020-06-01