public class Store {
@Getter
@Setter
private String name;
Store(String name) {
this.name = name;
}
/回调函数, 将结构传给那个我们不能直接调用的方法, 然后获取结果/
public String returnOrderGoodsInfo(OrderResult order) {
String[] s = {“订购中…”, “订购失败”, “即将发货!”, “运输途中…”, “已在投递”};
Random random = new Random();
int temp = random.nextInt(5);
String s1 = s[temp];
return order.getOrderResult(s1);
}
}
SyncBuyer类, 同步顾客类, 其中获取商品的订购状态,orderGoods(), 调用了store返回商品调用信息的returnOrderGoodsInfo()方法, 但是在Store类的returnOrderGoodsInfo()方法之中, 以OrderResult接口为参数, 反过来调用了OrderResult接口, 相当于调用了其子类SyncBuyer本身, 以它为参数, 调用了getOrderResult(String state)方法, 也就是OrderResult接口的方法, 相当于就完成了一个调用的循环, 然后取到了我们自己无法给出的结果.
这个地方的"循环", 是回调的关键所在, 需要正常调用其他外接提供方法来获取结果的一方, 集成一个回调接口, 实现它, 然后调用第三方的API方法, 第三方在我们调用的方法之中, 以回调结构为参数, 然后调用了接口中的方法, 其中可以返回相应的结果给我们.
需要说明的