Java and most OO languages allow a child class to override individual methods in the parent class. Each of these methods may define an independent functionality. The Template Method pattern provides an orchestrated approach to this.
It is based on a method in the parent abstract class. This method sequentially calls several individual abstract methods within the parent class. The subclasses just need to provide an implementation to these abstract methods. The template method definition in the base class takes care of appropriately invoking these individual methods.
The Template Method Design Pattern has only two participants