有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java的重写无法正确重写函数

我在java 1.7中重写基类时遇到了一些问题

我的目标是重写方法f(),这样程序将使用与基类中不同的函数进行迭代

我的问题是,我似乎无法重写该函数,即使它们的名称相同,返回类型相同,参数相同

Here's the base file

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

目前代码正常工作,我可以设置所有的初始值和结束值,但我无法让第二个文件中的函数方法覆盖第一个文件


共 (3) 个答案

  1. # 1 楼答案

    不能重写静态函数

  2. # 2 楼答案

    如前所述,静态方法不能被重写。考虑使方法非静态,并使用对象实例进行计算。

    类似的内容将转到Runge5

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

    doCalculations()将包含main()中的代码

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

  3. # 3 楼答案

    这不是重写(实例方法),而是hiding(静态方法)