- 在定义功能时,功能的一部分是确定的,但另一部分是不确定的,而确定的部分在使用不确定的部分,
- 那么这时就将不确定的部分暴露出去,由该类的子类去完成
- 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(); //不确定功能对外暴露出去,共子类完成,可以有默认的处理方式,不一定是abstract
-
- }
- class SubTime extends GetTime //继承思想
- {
- public void runCode() //重写思想
- {
- for(int i=0;i<3000;i++)
- {
- System.out.print(i);
- }
- }
- }
- class TimeDemo
- {
- public static void main(String[] args)
- {
- System.out.println("Hello the TimeDemo.java!");
- SubTime gt = new SubTime();
- gt.getTime();
- }
- }
复制代码
|