public abstract void draw(); // 正确:没有方法体,以分号结束 public abstract void calculateArea(); // 正确:只有声明
public abstract class Animal {
public abstract void makeSound();
public abstract void move();
}
// 抽象类可以包含具体方法和抽象方法 public abstract class Animal {
private String name; // 可以有成员变量
public abstract void makeSound();
public void sleep() { // 可以有具体实现
System.out.println("睡觉中...");
}
}
// 接口在Java 8之前只能有抽象方法 public interface Swimmable {
void swim(); // 默认就是抽象的
}
public abstract class BaseRequestHandler {
// 模板方法定义了处理流程
public final void handleRequest(HttpRequest request) {
validateRequest(request);
processBusinessLogic(request);
sendResponse(request);
}
// 抽象方法留给子类实现具体业务
protected abstract void processBusinessLogic(HttpRequest request);
// 通用实现由基类提供
private void validateRequest(HttpRequest request) {
// 通用的请求验证逻辑
}
private void sendResponse(HttpRequest request) {
// 通用的响应发送逻辑
}
}