1.意义
1.1 好处:提高了代码的扩展性和复用性
1.2 定义:在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,确定的部分正在使用不确定部分。那时就将不确定的部分暴露出去,由该类的子类去完成
2.代码实现
/**
*需求:获取一段程序运行的时间
*思路:1.获取时间可以用System类中的currentTimeMillis()方法
* 2.确定的部分定义在父类中,不确定的部分在父类中定义为抽象
* 3.不确定的部分具体实现定义在子类中
*/
abstract class model
{
public void getTimes(){
long start = System.currentTimeMillis();
program();
long end = System.currentTimeMillis();
System.out.println("该程序运行了"+(end-start)+"毫秒");
}
public abstract void program();//模板设计模式这里可以不是抽象的
}
class Program extends model
{
public void program(){
for(int x=0;x<1000;x++){
System.out.print(1);
}
}
}
class java
{
public static void main(String[] args){
new Program().getTimes();
}
}