模板方法:在定义功能时,一部分是确定的,一部分是不确定的,而确定的部分使用不确定的部分,那么此时可以将不确定的部分暴露 出去,由子类区完成,可以将定义成抽象的,由子类区复写(解决方式之一,不一定要定义成抽象的)
抽象的:
abstract class Student
{
public void getTime() {
long start = System.currentTimeMillis();
// 提取出方法
setMethod();
long end = System.currentTimeMillis();
System.out.print("花掉了:" + (end - start));
}
public abstract void setMethod();//强制复写
}
class HaoStudent extends Student
{
@Override
public void setMethod() {
for (int i = 0; i < 1000; i++) {
System.out.println("wwwwwwwwww");
}
}
}
不是抽象的:
public class OO_mobanMethod {
public static void main(String[] args)
{
Student s=new Student();
s.getTime();
}
}
class Student
{
public void getTime()
{
long start=System.currentTimeMillis();
//提取出方法
setMethod();
long end=System.currentTimeMillis();
System.out.print("花掉了:"+(end-start));
}
public void setMethod()
{
for (int i=1;i<1000 ;i++ )
{
System.out.println(i);
}
}
}