当前位置 : 主页 > 网络编程 > 其它编程 >

重写基础类方法的编译报错的如何理解

来源:互联网 收集:自由互联 发布时间:2023-07-02
试下改LinkedList的sort(),这个方法是本来实现接口list而有的但总是报错请指点importjava.util.*;p 试下改LinkedList的sort(),这个方法是本来实现接口list而有的但总是报错请指点 import java.util.*; pu
试下改LinkedList的sort(),这个方法是本来实现接口list而有的但总是报错请指点importjava.util.*;p

试下改LinkedList的sort(),这个方法是本来实现接口list而有的但总是报错请指点

import java.util.*;

public class TestSort{

LinkedList mtn new LinkedList();//产生一个链表

public static void main(String[] args){

new TestSort().go();

}

public void go(){

//链表里添加些元素

mtn.add("L1");

mtn.add("E2");

mtn.add("M3");

mtn.add("C4");

Compare_str nc new Compare_str();//生成一个比较器

/*想试的就是下面的方法:*/

mtn.sort(nc);

}

}

/比较器的定义/

class Compare_str implements Comparator {

public int compare(String one ,String two) {

return one.compareTo(two);

}

}

/就是这里想测试能否在基础类LinkedList里改写sort/

class LinkedList implements List{

public void sort(Compare_str testcomp){

System.out.println("test system method!");

}

/*

*TestSort.java:30: 错误: LinkedList不是抽象的, 并且未覆盖List中的抽象方法subList(int,int)

*class LinkedList implements List{

*^

*1 个错误

*/

public LinkedList subList(int from ,int to){};//第一次编译后报错根据报错信息添加这条语句

/*

*TestSort.java:30: 错误: LinkedList不是抽象的, 并且未覆盖List中的抽象方法listIterator(int)

*class LinkedList implements List{

*^

*1 个错误

*/

public Iterator listIterator(int m){};//添加新语句后第二次编译仍然报错则再根据此报错信息添加这条语句

/*

*TestSort.java:30: 错误: LinkedList不是抽象的, 并且未覆盖List中的抽象方法listIterator(int)

*class LinkedList implements List{

*^

*TestSort.java:47: 错误: LinkedList中的listIterator(int)无法实现List中的listIterator(int)

* public Iterator listIterator(int m){};//添加新语句后第二次编译仍然报错则再根据此报错信息添加这条语句

* ^

*返回类型Iterator与ListIterator不兼容

*其中, E是类型变量:

*E扩展已在接口 List中声明的Object

*2 个错误

*/

}

网友评论