我有一个类应该在 c'tor 中接收一些 IStratagy 接口的实现类型(具体类类型),并创建这些接收类型的一些对象。像这样的东西:
Class SomeClass {
public SomeClass(Class<IStrategy> strategyClass) {
strategyClass.newInstance();
// catch nasty reflection exceptions...
}
}
我想确保参数实现 IStrategy。我可以收到一个参数“IStrategy 具体策略”,然后是具体策略.getClass().newInstance(),但它仍然是我试图避免的反射。Java 中这个问题的最佳实践是什么?