java 重写发发后,不能实现

wakh2008 2017-01-13 06:20:31
class Function{
public void program(){
for(int i=1;i<1000;i++){
System.out.print("F");
}
}
public void getTime(){
long a=System.currentTimeMillis();
Function Bb=new Function();
Bb.program();
long b=System.currentTimeMillis();
System.out.println("程序运行总共耗时为:"+(b-a));
}
}
class Test extends Function{
public void program(){
for(int i=1;i<10;i++){
System.out.print("test");
}
}
}

public class mokuai{
public static void main(String[] args){
Test aa=new Test();
aa.getTime();
}
}

这个程序 如果添加了
Function Bb=new Function();
Bb.program();
不能实现重写后函数的结果,这是为什么?
...全文
226 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
java小码农 2017-01-17
  • 打赏
  • 举报
回复
补充:getTime()中的 Function Bb=new Function(); Bb.program(); 改为 program(); 然后子类重写program() 子类再调用getTime(),才会调用子类的program()方法
nikyotensai 2017-01-13
  • 打赏
  • 举报
回复
重写不会改变父类,只是子类继承自父的这个方法和父类不一样了
soton_dolphin 2017-01-13
  • 打赏
  • 举报
回复
试下 Function BB = new Test();

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧