模板方法设计模式的写法 建议使用final关键字修饰模板方法 总结 代码: People(父类抽象类) package com.Abstract3; public abstract class People { /*设计模板方法设计模式 * 1.定义一个模板方法出来 */ public final void write(){ System.out.println("\t\t\t\t\t《我的上司》"); System.out.println("\t\t我的上司好啊,牛逼啊,来看看我的上司有多牛逼"); //2.模板方法并不清楚正文部分到底怎么去写,但是他知道子类肯定要去写 System.out.println(writeMain()); System.out.println("有这样的上司太好了"); } //3.设计一个抽象方法写正文,具体实现交给子类完成 public abstract String writeMain(); } Teacher(子类继承People类) package com.Abstract3; public class Teacher extends People{ @Override public String writeMain() { return "我的上司挺好的,让我待在这里别走,他去买点橘子"; } } Student类(子类继承People类) package com.Abstract3; public class Student extends People { @Override public String writeMain() { return "我的上司特别牛逼,开车不看红绿灯,下辈子让他做下属"; } } Test类(主函数所在) package com.Abstract3; //搞清楚抽象类的应用场景,用来设计模板方法设计模式 //场景:学生、老师都要写一篇作文:我的上司 //第一段:一样 //正文部分自由发挥 //最后一段也是一样 public class Test { public static void main(String[] args) { Teacher t = new Teacher(); t.write(); Student s = new Student(); s.write(); } }