如何多态调用两个接口同名方法
interface A{
void f();
}
interface B{
void f();
}
class C implements A {
public void f() {
System.out.println("C()");
}
}
class D implements B{
public void f() {
System.out.println("D()");
}
}
public class F{
A a = null;
B b = null;
F(A a, B b){
this.a = a;
this.b = b;
}
public void select() {
if(a != null)
a.f();
else if(b != null)
b.f();
}
public static void main(String[] args) {
F f = new F(new C(), new D());
f.select();
}
}
A、B是接口,C、D是实现类
A接口和B接口的方法是同名方法,A和B的代码是别人的库,无法改动。
请问除了组合外可以用什么方法去多态调用A和B接口的方法?