@DDwrt100

Наследование в Java, как правльно наследовать метод?

Добрый день.
Есть исходный класс, который содержит в себе несколько методов.
Что то типа:
public List<datastrucutre> calculate(Math math){
//somecode
return List<datastrucure>;
}

Я хочу создать класс наследник, который имеет такие же методы но считаются немного по другому.
Я создаю класс говорю с помощью extend от кого наследуюсь
И пишу следующий код.
@Override
public List<datastrucutreEXTENDSMATH> calculate(Math math){
//somecode, changed
return List<datastrucureEXTENDMATH>;

однако компилятор выдает ошибку

Error:(34, 40) java: giveBy() in cannot override giveBy(r) in
return type java.util.List is not compatible with java.util.List<>
Error:(33, 5) java: method does not override or implement a method from a supertype

Что я делаю не так?
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
GavriKos
@GavriKos
Наследуемый и наследник должны иметь одинаковый прототип, т.е. одинаковое имя, входные параметры и возвращаемый тип данных.
У вас возвращаются разные типы.
Выход в лоб - возвращать базовый тип, например.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ЛАНИТ Москва
от 180 000 руб.
YLab Москва
от 100 000 до 160 000 руб.
СберЛогистика Москва
от 170 000 руб.
17 окт. 2019, в 03:16
37500 руб./за проект
16 окт. 2019, в 22:58
3200 руб./за проект
16 окт. 2019, в 22:43
3000 руб./за проект