定义:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
final 用在变量的前面表示变量的值不可以改变,此时该变量可以被称为常量;final 用在方法的前面表示方法不可以被重写;final 用在类的前面表示类不可以被继承
实现
1、定义模板类
public abstract class Game {
public abstract void initialEnv();
public abstract void checkUpdate();
public abstract void loadRecord();
public abstract void startGame();
public final void play(){
initialEnv();
checkUpdate();
loadRecord();
startGame();
}
}
2.定义具体类
public class PeaceElite extends Game{
@Override
public void initialEnv() {
System.out.println("加载初始环境");
}
@Override
public void checkUpdate() {
System.out.println("检查更新");
}
@Override
public void loadRecord() {
System.out.println("加载游戏记录");
}
@Override
public void startGame() {
System.out.println("开始游戏");
}
}
3.客户端调用
PeaceElite peaceElite = new PeaceElite();
peaceElite.play();