我有一个类说Parent,它有一个Selector类作为成员变量。我希望Selector类根据其父实例选择多个子类中的一个。因此,如果Parent是A类型,那么Selector将选择类a,如果Parent是B类,Selector将选择类b等。我也不想将其他信息传递给Selector类&#39 ; s选择函数作为参数。有没有办法在Java中实现它?
@Inject
public class Parent {
private Selector mSelector;
...
}
@Inject
public class Selector {
...
public Child chooseChild() {
// Choose child class based on Parent instance
...
}
}
答案 0 :(得分:0)
没有。因为如果
你期望发生什么@Inject
public class Parent1 {
private Selector mSelector;
}
@Inject
public class Parent2 {
private Selector mSelector;
}
和mSelector
一样吗?
您实际上可以在上下文中扫描所有bean,检查它们是否包含类型为Selector
的字段,并获取符合您标准的所有 bean列表。
如何操作取决于您使用的IOC
框架。