无法覆盖compareTo

时间:2020-06-30 16:48:35

标签: python eclipse maven

Eclipse IDE上的Java maven项目

maven-resources-plugin 2.7

JDK / JRE 13

Eclipse EE 4.15

结构

public interface Frequency {
    public int increment();
    public int decrement();
    public int freq();
    public Object getTop();
}

以下类需要实现接口Freq

public class Child extends IndexedWord implements Frequency{
int freq;
TreeSet<Relation> relations;
public Child() {
    freq=0;
    relations = new TreeSet<Relation>(new FreqCompare<Relation>());
}

public void addRelation(Relation relation) {
    relations.add(relation);
}

public Relation getTop() {
    Relation top=relations.first();
    top.decrement();
    return top;
}

@Override
public int increment() {
    freq++;
    return freq;
}
@Override
public int decrement() {
    freq--;
    return freq;
}

@Override
public int freq() {
    return freq;
}

@Override
public int compareTo(Object obj) {
    return 0;
}
}

错误

Eclipse拒绝编译该项目。将鼠标悬停在compareTO()的声明上时,我得到

compareTo(Object)方法必须重写或实现一个超类型 方法

我尝试过的

使用其他JDK版本

重建.settings,.classpath,.project文件/文件夹

编辑:解决方案

我修改了类以实现频率和可比性

1 个答案:

答案 0 :(得分:0)

根据Java语言规范,使用 @Override不能覆盖或实现某些东西是错误

在您的情况下,您必须删除此方法的实现或至少删除@Override注释才能获取有效的Java代码,或更改该方法重写或实现某些内容的代码,例如通过添加添加Comparable接口(例如,以Frequency extends ComparableChild extends IndexedWord implements Frequency, ComparableIndexedWord implements Comparable或...)。