我有两个不同的接口,它们采用相同的方法,但不实现或扩展对方。这两个接口每个扩展了另一个类,它实现了接口方法更改类变量类型
然后我有一个类位于调用接口方法的独立包中。
所以这个类有调用接口方法的方法,它们都是相同的。
public void doThis(){
connection.doThis();
}
public void doThat(){
connection.doThat();
}
public void doAnother(){
connection.doAnother();
}
现在,我想为这两个接口1和接口2变量连接工作。
我的想法是设置连接为一个类变量
Object connection
,然后去改变它输入取决于条件接口1或接口2:
if(this){
//condition which converts connection to type interface1
}
else{
//condition which converts connection to type interface2
}
我怎么做到这一点。我可以这样做吗?
我已经给出了一个无法更改的界面,但没有实现远程。但我的项目使用RMI。所以我在一个实现Remote的独立包中创建了第二个接口。因此,两个不同接口的原因是他做同样的事情。
为什么不使用泛型? –
如果两个接口都有完全相同的方法,那么你不需要做任何事情,把引用类型保存为'Interface1'或'Inteface2'。 –
为什么每个实现类都有两个相同的接口?很可能您只需要一个接口和两个实现,在这种情况下,您可以让您的成员变量为该接口的类型。 – amalloy