Я пытаюсь создать новый класс путем создания подкласса другого универсального класса (с границей) и реализации универсального интерфейса (без границы):
public class Foo1<T extends Bar> {
...
}
public interface Foo2<T> {
...
}
public class ProblemClass<T extends Bar, U>
extends Foo1<T extends Bar> implements Foo2<U> {
...
}
Это дает мне ошибки компиляции. Я также попробовал:
public class ProblemClass<T, U>
extends Foo1<T extends Bar> implements Foo2<U> {
...
}
public class ProblemClass<T extends Bar, U>
extends Foo1<T> implements Foo2<U> {
...
}
Но ни то, ни другое не работает.
Каков правильный синтаксис для определения моего подкласса таким образом, чтобы я мог сохранять типизацию общего типа, позволяя мне передавать их типы суперклассу и интерфейсу? Это вообще возможно?
Спасибо!