模板这个词我想大家都理解吧。有时候我们抽象一些共性的东西最后能整理出一个模板,我们只需套这个模板,修改一些个性的东西就能完事了。模板方法就是这个道理。
package template;
public abstract class Template<T> {
public void templateMethod(T t) {
System.out.println(t);
sort();
}
public abstract void sort();
}
package template;
public class ConcreteClass0<T> extends Template {
@Override
public void sort() {
// TODO Auto-generated method stub
System.out.println("快速排序");
}
}
package template;
public class ConcreteClass1<T> extends Template {
@Override
public void sort() {
// TODO Auto-generated method stub
System.out.println("堆排序");
}
}
package template;
public class Client {
public static void main(String[] args) {
// TODO Auto-generated method stub
Template<String> template0=new ConcreteClass0<>();
template0.templateMethod("String类");
Template<Integer> template1=new ConcreteClass1<>();
template1.templateMethod(110);
}
}