Переопределение Java - не может корректно переопределить функцию - PullRequest
0 голосов
/ 17 марта 2012

У меня проблемы с переопределением базового класса в Java 1.7.

Моя цель - переопределить метод f (), чтобы программа выполняла итерацию, используя функцию, отличную от функции в базовом классе.

Моя проблема в том, что я не могу переопределить функцию, даже если они названы одинаково, имеют одинаковый тип возврата и одинаковые параметры.

Вот базовый файл

А вот файл, который пытается переопределить базовый файл

В настоящее время код работает, я могу установить все начальные и конечные значения, я просто не могу получить метод функции во втором файле для переопределения первого.

Ответы [ 3 ]

4 голосов
/ 17 марта 2012

Вы не можете переопределить статическую функцию.

3 голосов
/ 17 марта 2012

Это не переопределение (метод экземпляра), это сокрытие (статический метод).

1 голос
/ 17 марта 2012

Как уже упоминалось, статический метод не может быть переопределен.Подумайте о том, чтобы сделать методы нестатичными и использовать экземпляр объекта для выполнения вычислений.

Что-то подобное перейдет на Runge5.

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

doCalculations() будет включать код, который вы имели в main();

Это, вероятно, нетлучший дизайн, но он решит вашу проблему.

...