黑马程序员技术交流社区
标题:
静态方法被复写后创建子类,调用时为何调用父类?
[打印本页]
作者:
cp0717
时间:
2016-4-4 13:51
标题:
静态方法被复写后创建子类,调用时为何调用父类?
//获取一段程序执行的时间
class GetTime
{
public final static void getTime()
{
//获取程序开始时间
long startTime = System.currentTimeMillis();
//需执行的程序
runcode();
//获取程序结束时间
long endTime = System.currentTimeMillis();
System.out.println("毫秒:"+(endTime-startTime));
}
//需要执行的程序
static void runcode()
{
for (int i=0; i<1000; i++)
{
System.out.print(i);
}
}
}
//定义子类继承GetTime,获取功能
class SubTime extends GetTime
{
//覆盖父类的runcode方法
static void runcode()
{
for (int i=0; i<4000; i++)
{
System.out.print(i);
}
}
}
//创建子类对象,进行演示
class TemplateDemo
{
public static void main(String[] args)
{
//创建子类对象
SubTime s = new SubTime();
//调用父类方法获取时间
s.getTime();
}
}
程序执行结果如下:
0123......993994995996997998999毫秒:289
作者:
cp0717
时间:
2016-4-4 13:53
为什么子类复写了静态的runcode()方法,结果却是父类的runcode()执行呢?
求各位大神解答,谢谢!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2