抽象类实现接口,
实现类又继承抽象类。

抽象类是模板,提供了部分实现,定义了算法的骨架。
接口是行为的契约,规定了实现类必须实现的功能。
实现类负责具体化算法中的某些步骤,完成特定逻辑。

// 定义接口
interface Operation {
    void step1();
    void step2();
}

// 抽象类实现接口
abstract class AbstractTemplate implements Operation {
    @Override
    public void step1() {
        System.out.println("Step 1: 通用实现");
    }

    // 抽象方法,留给子类实现
    public abstract void step2();
}

// 实现类继承抽象类
class ConcreteClass extends AbstractTemplate {
    @Override
    public void step2() {
        System.out.println("Step 2: 子类具体实现");
    }
}

// 测试
public class Main {
    public static void main(String[] args) {
        Operation operation = new ConcreteClass();
        operation.step1();
        operation.step2();
    }
}

输出结果:

Step 1: 通用实现
Step 2: 子类具体实现