Сначала я попробовал:
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, lets call it WeightedEdge280<V>. It should be an extension of Edge280<V>
Вы должны ввести те же границы при расширении общего класса:
public class WeightedEdge280<V extends Vertex280> extends Edge280<V>
Причина в том, что вы заявили, что параметр универсального типа в Edge
extends Vertex280
. Когда вы создаете класс, который расширяет Edge
вам необходимо убедиться, что его общий тип типа также ограничен как минимум так же сильно. Это связано с тем, что общий тип WeightedEdge280
всегда должен быть допустимым типовым типом для Edge280
.
В противном случае я мог бы сделать что-то вроде:
final WeightedEdge280<String>
Я думаю, вы имеете в виду:
public class WeightedEdge280<V extends Vertex280> extends Edge280<V>
Оценки должны быть указаны там, где определяется общий параметр.