java回调提高了扩展性,举个代码例子
时间: 2023-05-14 07:06:21 浏览: 102
当一个对象的方法被调用时,Java 回调机制可以让另一个对象接收到这个调用,并且执行一些特定的操作。这种机制可以提高程序的扩展性,因为它允许程序员在运行时动态地添加新的行为。下面是一个简单的 Java 回调的代码例子:
```
public interface Callback {
void onCallback();
}
public class Caller {
private Callback callback;
public void setCallback(Callback callback) {
this.callback = callback;
}
public void doSomething() {
// 做一些事情
if (callback != null) {
callback.onCallback();
}
}
}
public class Main {
public static void main(String[] args) {
Caller caller = new Caller();
caller.setCallback(new Callback() {
@Override
public void onCallback() {
System.out.println("回调函数被调用了");
}
});
caller.doSomething();
}
}
```
在这个例子中,Caller 类有一个 Callback 接口类型的成员变量 callback,它可以被设置为一个实现了 Callback 接口的对象。当 Caller 类的 doSomething 方法被调用时,如果 callback 不为 null,就会调用 callback 的 onCallback 方法。在 Main 类中,我们创建了一个 Caller 对象,并设置了一个匿名内部类作为 callback,当 doSomething 方法被调用时,回调函数 onCallback 就会被执行。
阅读全文