面试题答案
一键面试- 定义回调接口:
- 该接口定义了订单支付成功后要执行的操作。
public interface PaymentCallback { void handlePaymentSuccess(); }
- 订单支付类:
- 负责处理订单支付逻辑,并在支付成功时调用回调接口的方法。
public class OrderPayment { private PaymentCallback callback; public OrderPayment(PaymentCallback callback) { this.callback = callback; } public void payOrder() { // 模拟支付逻辑,这里简单认为支付成功 boolean isPaymentSuccess = true; if (isPaymentSuccess) { System.out.println("订单支付成功"); if (callback != null) { callback.handlePaymentSuccess(); } } else { System.out.println("订单支付失败"); } } }
- 具体回调处理类:
- 实现回调接口,完成实际的后续操作,如更新库存、发送通知等。
public class PaymentSuccessHandler implements PaymentCallback { @Override public void handlePaymentSuccess() { updateInventory(); sendNotification(); } private void updateInventory() { System.out.println("更新库存操作"); } private void sendNotification() { System.out.println("发送通知操作"); } }
- 测试代码:
public class Main { public static void main(String[] args) { PaymentCallback callback = new PaymentSuccessHandler(); OrderPayment orderPayment = new OrderPayment(callback); orderPayment.payOrder(); } }
在上述代码中:
PaymentCallback
接口定义了支付成功后的回调方法。OrderPayment
类负责支付逻辑,并在支付成功时调用回调接口的方法。PaymentSuccessHandler
类实现了回调接口,执行具体的后续业务操作。Main
类用于测试整个流程,创建回调对象和订单支付对象,并执行支付操作。