在Java中,我有以下类结构:
所有类
+-- A 类扩展所有
+-- B 类扩展所有
类 ContainAll
+-- 类 ContainA 扩展 ContainAll
+-- 类 ContainB 扩展 ContainAll
在每个“包含”类中都有一个链表和一个方法
public addElement(All a) {
list.add(a)
}
ContainAll 类不应被实例化,但 ContainA 和 ContainB 类可以。
我如何通过泛型明确说明 ContainB 类中的 addElement 只能从 B 类型获取对象,例如:
public abstract class ContainAll<T extends All> {}
public class ContainB<T extends B> extends ContainAll<All> {
public addElement(T b) {
list.add(b);
}
}
但是这个例子不起作用,我试过了。谢谢阅读。