当前位置:首页 > Java 语言特性 > 正文

Java优学网抽象方法教程:从入门到精通,轻松掌握抽象类与接口设计

public abstract class PaymentProcessor {

// 抽象方法声明
public abstract boolean processPayment(double amount);
public abstract boolean refundPayment(String transactionId);

// 普通方法
public void validateAmount(double amount) {
    if (amount <= 0) {
        throw new IllegalArgumentException("金额必须大于0");
    }
}

}

public abstract class AbstractController {

// 框架控制的请求处理流程
public final ModelAndView handleRequest(HttpServletRequest request) {
    preProcess(request);  // 前置处理
    Object result = processBusinessLogic(request);  // 抽象方法,业务逻辑由子类实现
    return postProcess(result);  // 后置处理
}

// 抽象方法:每个控制器有自己的业务逻辑
protected abstract Object processBusinessLogic(HttpServletRequest request);

}

// 包含抽象方法的类必须是抽象类 public abstract class Vehicle {

// 具体方法:所有交通工具共有的行为
public void startEngine() {
    System.out.println("引擎启动");
}

// 抽象方法:不同交通工具移动方式不同
public abstract void move();

// 具体方法:所有交通工具共有的行为
public void stopEngine() {
    System.out.println("引擎关闭");
}

}

// Java 8之前的接口:纯粹的抽象方法集合 public interface PaymentService {

// 所有方法默认都是public abstract
boolean validatePayment(PaymentInfo info);
PaymentResult processPayment(PaymentInfo info);
void refundPayment(String transactionId);

}

// 不推荐:参数过多,职责模糊 public abstract void processData(String input, String output,

                            boolean enableLogging, int timeout,
                            DataFormat format);

// 推荐:职责单一,参数清晰 public abstract ProcessedResult processData(ProcessRequest request);

Java优学网抽象方法教程:从入门到精通,轻松掌握抽象类与接口设计

你可能想看:

相关文章:

文章已关闭评论!