在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去。由子类去完成。
案例:求一段代码的运行时间
abstract class GetTime{
public final void getTime(){
long start = System.currentTimeMillis();
runCode();
long end = System.currentTimeMillis();
System.out.println("运行时间:"+(end-start)+"毫秒");
}
public abstract void runCode();
}
class Test extends GetTime{
@Override
public void runCode() {
for (int i = 0; i < 10000; i++) {
System.out.println(i);
}
}
}
public class Demo{
public static void main(String[] args) {
Test test = new Test();
test.getTime();
}
}
来源:https://www.cnblogs.com/hongxiao2020/p/12508316.html