我想使用2个实现,但是不确定如何将每个实现传递给它们。到目前为止,这是我得到的:
A接口:
public interface A<T extends A<T, U>, U extends B<T, U>>{
}
B接口:
public interface B<T extends A<T, U>, U extends B<T, U>> {
}
A的实现:
public class AImpl<T extends B<AImpl<T>, T>> implements A<AImpl<T>, T>{
}
B的实现:
public class BImpl<T extends A<T, BImpl<T>>> implements B<T, BImpl<T>> {
}
现在我想使用A和B。我不太确定如何实现它们。这是我最初的尝试:
主要:
//this doesn't work
private AImpl<BImpl> a;
private BImpl<AImpl> b;
public main() {
a = new AImpl<BImpl>();
b = new BImpl<AImpl>();
}
最佳答案
继承对接口的作用远不如类。
建议:
只需重构和简化您的接口即可,因此您无需扩展类本身!
界面更少,更小;接口的浅继承层次结构通常是一件好事。恕我直言...