java--接口、回调函数作为传参的代码应用示例
接口作为传参的示例:
定义一个接口:
public interface Calculator {
int calculate(int x, int y);
}
定义一个类,该类接受一个实现了Calculator接口的对象作为参数,并调用其calculate方法:
public class Math {
public static void operate(int x, int y, Calculator calculator) {
int result = calculator.calculate(x, y);
System.out.println("Result: " + result);
}
}
定义一个实现了Calculator接口的类:
public class Add implements Calculator {
@Override
public int calculate(int x, int y) {
return x + y;
}
}
调用示例:
public class Main {
public static void main(String[] args) {
Math.operate(10, 5, new Add()); // 输出 Result: 15
}
}
回调函数作为传参的示例:
定义一个接口:
public interface Callback {
void onSuccess(String result);
void onError(String errorMessage);
}
定义一个类,该类接受一个实现了Callback接口的对象作为参数,并调用其方法:
public class Task {
public static void execute(Callback callback) {
try {
// 模拟一个长时间的任务
Thread.sleep(5000);
callback.onSuccess("Task completed successfully.");
} catch (InterruptedException e) {
callback.onError("Task interrupted.");
}
}
}
定义一个实现了Callback接口的类:
public class MyCallback implements Callback {
@Override
public void onSuccess(String result) {
System.out.println("Success: " + result);
}
@Override
public void onError(String errorMessage) {
System.out.println("Error: " + errorMessage);
}
}
调用示例:
public class Main {
public static void main(String[] args) {
Task.execute(new MyCallback()); // 输出 Success: Task completed successfully.(在5秒后)
}
}
原文地址: https://www.cveoy.top/t/topic/qod 著作权归作者所有。请勿转载和采集!