Если вы не склонны делать это рефлексивно, попробуйте что-то вроде этого:
public FooController(Class<? extends Foo> clazz, int number) {
this.fooUnknown = Array.newInstance(clazz, number);
for (int i = 0; i < number; i++) {
Array.set(this.fooUnknown, i, clazz.newInstance());
}
}
(Предупреждение: не скомпилировано, не проверено, требуется обработка исключений и т. Д.)