在Java中,我有以下类结构:
但这个例子并不起作用,我已经尝试过了。感谢阅读。
类 All
+-- 类 A 扩展自 All
+-- 类 B 扩展自 All
类 ContainAll
+-- 类 ContainA 扩展自 ContainAll
+-- 类 ContainB 扩展自 ContainAll
在每个“contain”类中都有一个链表和一个方法。
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);
}
}
但这个例子并不起作用,我已经尝试过了。感谢阅读。