Расширить абстрактный класс универсальными типами?
Как я могу расширить абстрактный класс, подобный следующему, который имеет общие аргументы?
@Singleton
public abstract class Presenter<V extends View, Proxy_ extends Proxy<?>> extends PresenterWidget<V> {
...
}
2 ответа
Чтобы расширить ответ MariuszS: Обычно докладчик определяет интерфейс представления:
public class MyPresenter extends Presenter<MyPresenter.MyView, MyProxy> {
public static interface MyView extends View {
...
}
...
Учебный класс Presenter
имеет упрощенный общий тип Presenter<V, Proxy_>
где
V
продолжаетсяView
Proxy_
продолжаетсяProxy<?>
Расширяющийся класс должен выглядеть так:
public class MyPresenter extends Presenter<MyView, MyProxy> {
...
}
где
MyView
продолжаетсяView
MyProxy
продолжаетсяProxy<?>