Я думаю, что если вы хотите добавить несколько объектов из списка, есть один метод, который принимает List<B>
и использует instanceof
public void add(List<B> bList) {
for (B b : bList) {
if (b instanceof BC) {
bcArrayList.add((BC)b);
}
if (b instanceof BD) {
bdArrayList.add((BD)b);
}
}
}
Но для добавления отдельных объектов я думаю, используя перегрузку метода это самый чистый способ сделать это
public void add(BC b) {
bcArrayList.add(b);
}
public void add(BD b) {
bdArrayList.add(b);
}
Конечно, вы можете добавить их всех в свой класс и использовать их вот так
A a = new A();
a.add(new BC());
a.add(new BD());
List<B> list = new ArrayList<>();
list.add(new BC());
list.add(new BD());
a.add(list);