我在java 1.7中覆盖基类时遇到了一些麻烦。
我的目标是覆盖方法f(),以便程序使用与基类中不同的函数进行迭代。
我的问题是我似乎无法覆盖该函数,即使它们的名称相同,具有相同的返回类型和相同的参数。
And here's the file that's trying to override the base file
目前代码有效,我可以设置所有的初始值和结束值,我只是无法获取第二个文件中的函数方法来覆盖第一个。
答案 0 :(得分:4)
您无法覆盖静态功能。
答案 1 :(得分:3)
这不是覆盖(实例方法),这是hiding(静态方法)。
答案 2 :(得分:1)
如上所述,静态方法无法被覆盖。考虑使方法非静态并使用对象实例进行计算。
这样的内容将转到Runge5
。
public static void main(String argv[]) {
Runge2 r = new Runge5();
r.doCalculations();
}
doCalculations()
会包含您在main()
;
这可能不是最好的设计,但它可以解决你的问题。