Как переопределить метод с параметром, который использует подкласс в одном классе и суперкласс в другом классе? - PullRequest
1 голос
/ 12 марта 2020

Я хотел бы переопределить метод в подклассе, который использует другой класс в параметре метода, но в своем суперклассе использует суперкласс других классов в своем параметре. Например,

public class ManagerImpl<P extends Action> implements Manager {

    public <T extends Domain> T execute(String blah, Session session) {
        //do something
    }

}
public class ContextManagerImpl<P extends Action> extends ManagerImpl {

    @Override
    public <T extends Domain> T execute(String blah, Session session) {
        //do something
    }

}

Это кажется довольно простым, однако класс Session, который я использую в ManagerImpl, является суперклассом класса Session, который я использую в ContextManagerImpl. Когда я пытаюсь переопределить, я получаю сообщение об ошибке: «Метод execute должен переопределить или реализовать метод супертипа», предположительно, потому что метод передает другой сеанс. Я не могу изменить имя класса Session, и мне нужно использовать метод в подклассе Session в ContextManagerImpl. Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...