我有多个接口和一个实现所有接口的类。我想在实现类的实例上调用这些接口中定义的所有方法,但我不想将变量声明为类类型,以便我仍在对接口进行编程。
看来我必须:
- 将对象从一种接口类型转换为另一种接口类型以调用适当的方法。
- 创建一个扩展其他接口的联合接口并声明该类型的变量。
我宁愿不这样做,因为 1 不是类型安全的,而 2 可能意味着您很快就会得到很多“联合”接口,它们本身什么都不添加。是否有可能有类似的东西:
public interface A {
public void doThis();
}
public interface B {
public void doThat();
}
public class C implements A, B {
public void doThis(){;}
public void doThat(){;}
}
//Fake calling code:
public void go() {
A,B dualTypedInstance = new C(); //
dualTypedInstance.doThis();
dualTypedInstance.doThat();
}
看起来这真的应该是可能的。谢谢。