可能的重复:
从通用超类型扩展?
嗨,大家好。我来自 C++,我喜欢使用模板。我想在 Java 中,在特定点将节点“插入”到继承树中。...我认为代码会更明确:
public class MyClass<E> extends E {}
Run Code Online (Sandbox Code Playgroud)
它适用于 C++ 模板,但 java 给了我一个“不能将类型参数引用为超类型”。有没有办法在 java 中做到这一点?
谢谢你的帮助 ;)
要了解您尝试的代码的问题,请考虑如果E
是,例如,会发生什么Integer
?
您可以对包含通用数据的节点执行您想要的操作:
public class Node<T> {
T data;
// other tree bookkeeping fields
}
Run Code Online (Sandbox Code Playgroud)
然后你可以定义子类:
public class ThreadedTreeNode<T> extends Node<T> {
// even more bookkeeping fields
}
Run Code Online (Sandbox Code Playgroud)