黑马程序员技术交流社区

标题: 求教为什么没有结果 [打印本页]

作者: 浩南酷酷    时间: 2014-2-14 18:10
标题: 求教为什么没有结果
public abstract class GetTime {
        public final void getTime(){
                long start = System.currentTimeMillis();
                runMethod();
                long end = System.currentTimeMillis();
                System.out.println("时间: "+(end-start));
        }
        public abstract void runMethod();
}
public class SubTime extends GetTime{
        public void runMethod(){
                int count=0;
                for (int i = 0; i < 4000; i++) {
                System.out.print(i);
                }
        }                       
}

public class Run {
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                SubTime s = new SubTime();
                s.getTime();
        }
}

这个运行怎么没有结果呢?求告知啊~

作者: 倉促、尋找你    时间: 2014-2-14 19:10
因为你父类中定义的getTime()方法是被final修饰的,被final修饰的方法是不能被子类重写的,显然当你创建子类对象调用getTime()方法是有问题的。
作者: panzhenglian    时间: 2014-2-14 19:37
被public修饰的公有类必须在自己的类名.java的文件中命名,把GetTime和SubTime两个类的公有修饰符public去掉就可以了,被final修饰的方法不能被重写,但是可以被继承,调用父类被final修饰的方法是不会有问题的
作者: LuckyQS    时间: 2014-2-15 09:53
一个类中只能有一个被public修饰的类
作者: 浩南酷酷    时间: 2014-2-16 09:33
感谢,我懂啦!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2