欢迎访问宙启技术站
智能推送

Java函数的回调函数使用示例

发布时间:2023-07-04 10:32:23

回调函数是一种将函数作为参数传递给另一个函数,并在需要时调用该函数的方法。在Java中,可以使用接口来实现回调函数。

以下是一个使用回调函数的示例:

// 定义一个回调函数接口
interface Callback {
    void onResult(String result);
}

// 需要回调函数的类
class Worker {
    // 执行耗时任务的方法,任务完成后调用回调函数
    void doWork(Callback callback) {
        // 模拟耗时任务
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        
        // 任务完成后调用回调函数
        callback.onResult("Task completed");
    }
}

// 使用回调函数的示例
public class Main {
    public static void main(String[] args) {
        Worker worker = new Worker();
        
        // 创建一个回调函数实例
        Callback callback = new Callback() {
            @Override
            public void onResult(String result) {
                System.out.println("Callback result: " + result);
            }
        };
        
        // 调用doWork方法并传入回调函数
        worker.doWork(callback);
    }
}

在上面的示例中,我们定义了一个回调函数接口Callback,其中onResult方法接受一个字符串参数。然后,我们创建了一个Worker类,其中的doWork方法接受一个回调函数作为参数。在doWork方法中,我们模拟了一个耗时的任务,并在任务完成后调用传入的回调函数的onResult方法。

Main类中,我们创建了一个Worker实例和一个回调函数实例,并调用doWork方法传入回调函数。当任务完成后,回调函数的onResult方法会被调用,并打印出结果。

通过使用回调函数,我们可以在任务完成后执行一些额外的逻辑,而不需要在任务方法中直接编写该逻辑。这样可以提高代码的灵活性和可重用性。

需要注意的是,回调函数是在任务完成后被调用的,因此如果回调函数的执行时间过长,可能会影响任务的性能。因此,在使用回调函数时,需要合理设计回调函数的逻辑,以保证任务的性能和响应速度。