admin管理员组

文章数量:1637068


/*
 * 需求:获取一段程序运行的时间
 * 原理:获取程序开始和结束时间并相减即可。
 * 获取时间;System.currentTimeMillis()
 * 当代码完成优化后,就可以解决此类问题
 * 
 * 这种方式;模板方法设计模式
 * 
 * 什么是模板方式呢?
 * 在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分,
 * 那么,这时就将不确定的部分暴露出去,由该类的子类去完成。
 * */

//package  java.lang

abstract class getTime 
{
	public final void getTime()//final作用是为了不让子类改变这一函数。
	{
		long start=System.currentTimeMillis();
		runcode();
		long end=System.currentTimeMillis();
		System.out.println();
		System.out.print("毫秒:"+(end-start));
	}
	public abstract void runcode();//这个方法即是暴露出去的部分。
}
class subTime extends getTime
{
	public void runcode()
	{
		for (int i=0;i<4000;i++)
		{
			System.out.print(i);
		}
	}
}
class getTimeDemo
{
	public static void main(String[] args) 
	{
		subTime st=new subTime();
		st.getTime();
	}
}



在class subTime extends getTime这行报错,错误提示The type subTime must implement the inherited abstract method getTime.runcode()。
解决方法:父类getTime中的runcode需要在子类subTime 中改写,但我将runcode函数错写为runTime函数,导致主函数在调用的时候不能找到runcode方法的具体函数体,因此报错,谨以此为戒,敲代码要仔细!!

本文标签: implementinheritedtypesubTimegetTime