比继承的模板模式灵活多了是吧
package com.greywolf;
public abstract class ModuleDesign {
public abstract void doB();
public void print() {
System.out.println("print");
}
public void execute() {
print();
doB();
}
}
package com.greywolf;
public class YellowSnake {
public void doB() {
new ModuleDesign() {
@Override
public void doB() {
System.out.println("doB");
}
}.execute();
}
public static void main(String[] args) {
new YellowSnake().doB();
}
}