В основном мне нужно иметь абстрактный класс, который содержит поле списка, в котором подробно описывается, что он может содержать подклассы определенного класса, а затем создать конкретный класс, который хранит определенный подкласс этого определенного класса.
Лучше объяснить в коде, я уверен:
public class A {
}
public class B extends A {
}
public abstract class AbsClass {
protected List<? extends A> list;
}
public class ConClass extends AbsClass {
list = new ArrayList<B>();
}
С помощью приведенного выше кода я получаю ошибку компилятора
Метод add (capture # 3-of? Extends A)в списке типа не применимо для аргументов (B)
строка, в которой создается список.
Как мне заставить это работать?