首页 新闻 会员 周边

java 能改写基础类的方法吗?

0
[待解决问题]

试下改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 <String>{
            public int compare(String one ,String two) {
                        return one.compareTo(two);
                    }
}
/*就是这里想测试能否在基础类LinkedList里改写sort:*/
class LinkedList implements List<String>{
    public void sort(Compare_str testcomp){
        System.out.println("test system method!");
    }
    /*
    *TestSort.java:30: 错误: LinkedList不是抽象的, 并且未覆盖List中的抽象方法subList(int,int)
    *class LinkedList implements List<String>{
    *^
    *1 个错误
    */
    public LinkedList subList(int from ,int to){};//第一次编译后报错,根据报错信息添加这条语句
    /*
    *TestSort.java:30: 错误: LinkedList不是抽象的, 并且未覆盖List中的抽象方法listIterator(int)
    *class LinkedList implements List<String>{
    *^
    *1 个错误
    */
    public Iterator<String> listIterator(int m){};//添加新语句后第二次编译仍然报错,则再根据此报错信息添加这条语句
    /*
    *TestSort.java:30: 错误: LinkedList不是抽象的, 并且未覆盖List中的抽象方法listIterator(int)
    *class LinkedList implements List<String>{
    *^
    *TestSort.java:47: 错误: LinkedList中的listIterator(int)无法实现List中的listIterator(int)
    *    public Iterator<String> listIterator(int m){};//添加新语句后第二次编译仍然报错,则再根据此报错信息添加这条语句
    *                            ^
      *返回类型Iterator<String>与ListIterator<String>不兼容
      *其中, E是类型变量:
    *E扩展已在接口 List中声明的Object
    *2 个错误
    */
}

布歌的主页 布歌 | 菜鸟二级 | 园豆:202
提问于:2018-04-10 18:54
< >
分享
所有回答(0)
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册