@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

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

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

Войти через центр авторизации
Похожие вопросы
09 июл. 2020, в 10:34
18000 руб./за проект
07 июл. 2020, в 15:08
160000 руб./за проект
09 июл. 2020, в 09:29
20000 руб./за проект