JAVA:模板方法模式
碰到的问题:
有些时候,我们在写代码时,有些功能是重复使用的,或者说,不同的类中都有实现某一方法,这时,可以考虑“模板方法模式”,把需要的功能写成一个模板,把不同的部分在子类中覆盖掉就行了。
//模板 abstract class GetTime { public final void getTime()//添加一个final,使得该方法不能在子类中被覆盖 { long start = System.currentTimeMillis(); runCode();//要实现的程序 long end = System.currentTimeMillis(); System.out.println(); System.out.println("毫秒:"+(end-start)); } public abstract void runCode(); } //子类 class SubTime extends GetTime { public void runCode() //将要实现的程序覆盖即可 { for(int i=0;i<1000;i++) System.out.print(i); } } public class TestTime { public static void main(String[] agrs) { SubTime sb = new SubTime(); sb.getTime(); } }
final修饰符:
变量:变为常量,其值不能改变
方法:不能被子类复写
类:不能被继承