为了防止使用反射,您可能正在寻找抽象工厂模式。这是一个简单的示例,说明如何使用Java
8实现它:
private void run() { List<Supplier<MybaseClass>> factories = Arrays .asList(Impl1::new, Impl2::new, Impl3::new); List<MybaseClass> baseClassInstances = factories.stream() .map(Supplier::get) .collect(Collectors.toList());}public abstract class MybaseClass {}public class Impl1 extends MybaseClass {}public class Impl2 extends MybaseClass {}public class Impl3 extends MybaseClass {}


