泛型:"令牌上的语法错误"扩展",预期"

时间:2014-03-19 08:18:58

标签: java

首先我尝试了:

public class WeightedEdge280<V> extends Edge280<V>{

哪个给了我错误:

"Bound mismatch: The type V is not a valid substitute for the bounded parameter <V extends Vertex280> of the type Edge280<V>" 

所以我试过了:

public class WeightedEdge280<V> extends Edge280<V extends Vertex280>{...

哪个给了我错误:

"Syntax error on token "extends", , expected"

边缘类:

public class Edge280<V extends Vertex280> extends Pair280<V, V> {...

作业指示:

The first step is to create the class for the custom edge object, let’s call it WeightedEdge280<V>. It should be an extension of Edge280<V>

2 个答案:

答案 0 :(得分:2)

我认为你的意思是:

public class WeightedEdge280<V extends Vertex280> extends Edge280<V>

应该在定义泛型参数的位置指定边界。

答案 1 :(得分:1)

扩展泛型类时需要引入相同的边界:

public class WeightedEdge280<V extends Vertex280> extends Edge280<V>

原因是您已在Edge extends Vertex280中声明了泛型类型参数。当您创建一个扩展Edge的类时,您需要确保其泛型类型参数的边界至少也是如此紧密。这是因为WeightedEdge280的泛型类型必须始终是Edge280的有效泛型类型。

否则我可以做类似的事情:

final WeightedEdge280<String>