【发布时间】:2012-05-10 16:52:55
【问题描述】:
我有一个超类(GraphNode)和一个子类(AStarNode)。 两者都可以是另一个类的成员,这就是为什么我将使用它的类变成泛型类(GraphEdge)。
在这个类中,我想调用超类的一些成员函数,但编译器抱怨:
The method addEdge(GraphEdge<T>) is undefined for the type T
我该如何解决这个问题,或者我的方法还可以吗?
这里有一些代码可以更好地描述场景:
public class GraphNode {
protected Graph graph;
public GraphEdge addEdge(){
//some code
}
}
public class AStarNode extends GraphNode {
protected GraphEdge predecessor;
}
//The from and to properties can be either AStarNode or GraphNode
public class GraphEdge<T> extends Entity {
protected T from;
protected T to;
public someMethod(){
from.addEdge(this);
}
}
【问题讨论】:
-
为确保我们都在谈论同一件事,请发布一个简短的代码 sn-p 来说明您的类之间的关系。
-
我添加了一些代码来描述场景。
标签: java generics inheritance