java(二十二)【面向对象】模版方法模式
什么是模板方法?
在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去,由该类的子类去完成
示例:
需求:获取一段程序运行的时间
原理:获取程序开始和结束的时间并相减即可
获取时间:System.currentTimeMillis();
1 abstract class GetTime { //抽象方法一定存在抽象类中 2 public final void gettime(){ //被fanal修饰的类不可以被继承 3 long start=System.currentTimeMillis(); 4 run(); 5 long end=System.currentTimeMillis(); 6 System.out.println("haomiao:"+(end-start)); 7 } 8 public abstract void run(); //定义抽象类,暴露给子类覆盖 9 } 10 11 class Fuxie extends GetTime 12 { 13 public void run() { 14 for(int i=0;i<1000;i++) 15 { 16 if (i<999) { 17 System.out.print(i+","); 18 } 19 else { 20 System.out.println(i); 21 } 22 } 23 } 24 } 25 public class Single { 26 public static void main(String[] args) { 27 Fuxie gt=new Fuxie(); 28 gt.gettime(); 29 } 30 }
运行结果:



浙公网安备 33010602011771号