Я проиграл в джунглях дженериков, пожалуйста, помогите мне :) У меня есть что-то вроде этого:
public class BaseClass<TYPE> {
public BaseClass(Class<TYPE> clazz) {};
}
public class FirstLevelClass<REFRESHABLE
extends RefreshableInterface> extends BaseClass<REFRESHABLE> {
public FirstLevelClass(Class<REFRESHABLE> clazz) {
super(clazz);
};
}
public class Argument<T extends AnyOtherClass>
implements RefreshableInterface {
public refresh() {}
}
pulbic class ProblematicClass
extends FirstLevelClass<Argument<AnyOtherClassDescendant>> {
public ProblematicClass() {
//Compiler error: Constructor
//FirstLevelClass<Argument<AnyOtherClassDescendant>>(Class<Argument>) is undefined
super(Argument.class);
}
}
Насколько мне кажется, компилятор должен принять Argument
поскольку он реализует RefreshableInterface
.
- Почему я получаю эту ошибку?
- Как я могу заставить
ProblematicClass
работать?
ps: если у вас есть лучший заголовок для этого, пожалуйста, измените его. Я не мог справиться лучше.