符号:Inter
是接口;Abs[N]
是一个抽象类。
以下代码在 Java 中运行良好,没有问题:
public class Impl<T extends Abs1<T>> extends Abs2<T> {...}
但是,如果您想通过 上的接口引入另一个绑定T
,我还没有找到任何简单的方法来做到这一点,即:
public class Impl<T extends Inter & Abs1<T>> extends Abs2<T> {...}
不起作用,因为Abs1
作为抽象类不能用作边界参数。我发现的最简单但丑陋(丑陋吗?)的解决方案是:
public class Impl<B extends Inter, T extends Abs1<B>> extends Abs2<T> {...}
我有一种预感,在具有特征的 Scala 中存在一个更优雅的解决方案,但是对于 Java 有什么提示吗?