Java的覆盖 - 无法正确覆盖函数

时间:2012-03-16 23:59:43

标签: java override

我在java 1.7中覆盖基类时遇到了一些麻烦。

我的目标是覆盖方法f(),以便程序使用与基类中不同的函数进行迭代。

我的问题是我似乎无法覆盖该函数,即使它们的名称相同,具有相同的返回类型和相同的参数。

Here's the base file

And here's the file that's trying to override the base file

目前代码有效,我可以设置所有的初始值和结束值,我只是无法获取第二个文件中的函数方法来覆盖第一个。

3 个答案:

答案 0 :(得分:4)

您无法覆盖静态功能。

答案 1 :(得分:3)

这不是覆盖(实例方法),这是hiding(静态方法)。

答案 2 :(得分:1)

如上所述,静态方法无法被覆盖。考虑使方法非静态并使用对象实例进行计算。

这样的内容将转到Runge5

public static void main(String argv[]) {
   Runge2 r = new Runge5();
   r.doCalculations();
}

doCalculations()会包含您在main();

中的代码

这可能不是最好的设计,但它可以解决你的问题。