【发布时间】:2015-01-18 14:59:50
【问题描述】:
所以我正在做一个项目,我有 2 个接口。
让我们称呼他们:
public interface A{
}
public interface B{
}
我有 4 个不同的类来实现这些接口,因为我需要在本地或通过网络运行它们:
public class Class1 implements A{
// logical implementation of A
}
public class Class2 implements B{
// logical implementation of B
}
public class Class3 implements A{
// proxy implementation of A
}
public class Class4 implements B{
// proxy implementation of B
}
Class1 和 Class3 实现接口的逻辑,而 Class2 和 Class4 实现这些接口的代理。我现在正在尝试测试这些类,并且我有以下代码:
private static Class1 object1;
private static Class2 object2;
if (localTest) {
object1 = new Class1();
object2 = new Class2();
} else {
object1 = new Class3();
object2 = new Class4();
}
根据上面的代码,我得到了object1的类与Class3不兼容的错误,object2的类与Class4也不兼容。
既然 Class1 和 Class3 实现了相同的接口,而 Class2 和 Class4 实现了相同的接口,为什么会报错?
如果我无法提供更多细节,我很抱歉。
谢谢
【问题讨论】:
标签: java class inheritance