public interface IAaa {
public String search(String query);
}
public class DaoAaa implements IAaa {
@Override
public String search(String query){
....
retrun "";
}
}
我有从Aaa到Zzz的这种类型的Dao课程。我无法对源代码进行任何修改。 (我只是代码的客户端。)在这种情况下,我该如何以多态方式使用搜索方法呢?
我想做类似下面的事情。
public void doSomething() {
List<xxxx> listXxxxx = new ArrayList<xxxx>();
listXxxxx.add(DaoAaa);
listXxxxx.add(DaoBbb);
....
for(xxxx obj : listXxxxx){
obj.search();
...
}
}
答案 0 :(得分:0)
将变量声明为接口类型,并使用所需具体类型的对象初始化它;也就是IAaa dao = new DaoAaa();
。当您调用.search()
时,将调用属于具体类的实现。