У меня есть метод, который возвращает сложный универсальный тип (который реализует несколько интерфейсов)
protected abstract <BOB extends Stan & Jan<I>> BOB getStanAndJanItem();
Это прекрасно компилируется, и я могу переопределить его и вернуть значения.Как только я это называю, я получаю ошибки компиляции (даже не нужно ничего назначать).И я думаю, это имеет смысл, поскольку BOB определяется только внутри метода.
Итак, как мне определить bob на уровне класса?
И ДА, я знаю, что могу просто разделитьвызовы и они возвращают один и тот же объект или вводят какое-то дополнительное наследование (и я, вероятно, в конечном итоге сделаю это), но можно ли это сделать также и так?*
Несовпадение границ: универсальный метод getStanAndJanItem () типа MyAbstractClass<I>
не применим для аргументов ().Предполагаемый тип Stan не является допустимой заменой ограниченного параметра <BOB extends Stan & Jan<I>>