地基
,铺线
,房子户型
都是一样的,由开发商决定,但是在交房之后,室内的装修风格
和场景布置
却是由业主决定,在这个场景中,开发商其实就是一个抽象类,地基,铺线,房子户型都是可以复用的,但是装修却是不可复用的,必须由业主决定,此时的每一个业主的房子就是一个实现的子类。final
关键词。final
修饰。public abstract class game { //抽象方法 abstract void initialize(); abstract void startplay(); abstract void endplay(); //模板方法 public final void play(){ //初始化游戏 initialize(); //开始游戏 startplay(); //结束游戏 endplay(); } }
public class football extends game { @override void endplay() { system.out.println("足球游戏结束......"); } @override void initialize() { system.out.println("足球游戏初始化中......"); } @override void startplay() { system.out.println("足球游侠开始了......"); } }
public class templatepatterndemo { public static void main(string[] args) { //创建足球游戏实例 game game = new football(); //开始游戏 game.play(); } }
足球游戏初始化中...... 足球游侠开始了...... 足球游戏结束......
abstractplatformtransactionmanager
是spring中的模板抽象类
,来看看它的继承关系图: platformtransactionmanager
接口,重载了接口中的方法。//提交事务 public final void commit() //获取transactionstatus public final transactionstatus gettransaction()
//提交事务 protected abstract void docommit(defaulttransactionstatus status); //回滚事务 protected abstract void dorollback(defaulttransactionstatus status); //开始事务 protected abstract void dobegin(object transaction, transactiondefinition definition) //获取当前的事务对象 protected abstract object dogettransaction()
datasourcetransactionmanager
、jtatransactionmanager
、rabbittransactionmanager
。具体承担什么样的角色和责任不是本节的重点,不再细说。jdbctemplate
,abstractplatformtransactionmanager
,这些实现都用到了模板模式。
如对本文有疑问, 点击进行留言回复!!
java多线程定时器和java判断一个时间是否在时间区间内和用正则表达式获取String字符串之间的数据
网友评论