【发布时间】:2017-02-27 20:08:06
【问题描述】:
我有一个类Vertex<T>,它实现了IVertex<T>,它实现了Comparable。每当我编译我的代码时,我都会收到错误:
顶点不是抽象的,不会覆盖抽象方法 可比较中的 compareTo(IVertex)
问题在于,我无法更改界面IVertex 中的任何代码,因为这是我老师的指示。我该如何解决这个问题?我在下面包含了我的代码:
顶点:
package student_solution;
import graph_entities.*;
import java.util.*;
public class Vertex<T> implements IVertex<T>{
// Add an edge to this vertex.
public void addEdge(IEdge<T> edge){
}
// We get all the edges emanating from this vertex:
public Collection< IEdge<T> > getSuccessors(){
}
// See class Label for an an explanation:
public Label<T> getLabel(){
}
public void setLabel(Label<T> label){
}
}
IVertex:
package graph_entities;
import java.util.Collection;
public interface IVertex<T> extends Comparable<IVertex<T>>
{
// Add an edge to this vertex.
public void addEdge(IEdge<T> edge);
// We get all the edges emanating from this vertex:
public Collection< IEdge<T> > getSuccessors();
// See class Label for an an explanation:
public Label<T> getLabel();
public void setLabel(Label<T> label);
}
提前谢谢你!
【问题讨论】:
-
好吧,实现你忘记实现的方法(即
public int compareTo(IVertex<T> v). -
编译器告诉你你的类必须实现 compareTo 方法——仅此而已。
-
仔细阅读错误信息。它说
Vertex,而不是IVertex。
标签: java interface abstract comparable