之前没接触过回调函数,新公司新项目有用到,记录下学习笔记
一、回调函数的概念
回调函数是一种将函数作为参数传递给另一个函数的方法。当特定事件或条件发生时,被传递的函数将被调用。这种方式可以让我们在不修改原有代码的情况下,灵活地扩展和定制功能。这种设计模式在许多编程语言中都有应用,它的主要优点是提高了代码的模块化程度和可重用性。
二、Java中的回调函数实现
在Java中,我们可以通过接口和实现接口的类来实现回调函数。下面是一个简单的示例:
定义一个回调接口:
public interface Callback {
void onCallback(String message);
}
这个接口定义了一个名为onCallback的方法,该方法接受一个字符串作为参数。
创建一个类,该类接受回调接口作为参数,并在特定条件下调用回调方法:
```java
public class Caller {
private Callback callback;
public Caller(Callback callback) {
this.callback = callback;
}
public void doSomething() {
// 执行一些操作...
String message = "操作完成";
callback.onCallback(message);
}
}
在这个类中,我们定义了一个名为doSomething的方法。这个方法在执行一些操作后,会调用回调接口的onCallback方法。
实现回调接口并创建Caller对象:
public class Main {
public static void main(String[] args) {
Callback callback = new Callback() {
@Override
public void onCallback(String message) {
System.out.println("回调函数被调用: " + message);
}
};
Caller caller = new Caller(callback);
caller.doSomething();
}
}
在这个例子中,我们创建了一个实现了Callback接口的匿名内部类,并将其传递给Caller类的构造函数。然后,我们调用Caller类的doSomething方法。当doSomething方法执行完毕后,它会调用我们传递给它的回调函数。