类似于您如何向下推层次结构链(假设),我希望对接口进行类似的操作。
有一个父类“ A”和一堆子类“ A”。但是,我正在处理的所有子类的子集都实现了某些接口。 但是,并不是所有的子班都可以,只是我碰巧的班。
所以方法签名看起来像这样:
public void action(A a) {
}
因此,该方法可以对任何类型为“ A”或它的子级的东西执行某些操作,但是,我唯一感兴趣的都是实现同一接口。
因此,我想要一种能够假定(或强制转换?)接口的方法,以便我可以调用接口方法之一。
类似这样:
public void action(A a) {
((B) a).methodFromB(); // ((Interface) a).methodFromInterface();
}
但是,相反,它将是一个接口,我知道我正在使用的工具的具体对象。
答案 0 :(得分:0)
感谢Andy Thomas,事实证明您可以将其转换为接口类型。
((InterfaceName) objectThatImplInterface).methodFromInterface();