为什么在java里面实现一个接口的时候
里面的方法只实现其中几个,而有的接口
里面的方法可以直接拿来使用呢

解决方案 »

  1.   

    interface 是一个抽象的 实现时 必须实现它里面所有的方法
      至于你写的 看不明白 写的什么
      

  2.   

    Iterator是一个接口为什么可以直接使用他的方法比如hasNext(),next()
    还有comparator接口为什么使用的时候只实现了compare()方法呢?
      

  3.   

    你或许不知道,接口有一个重要的作用就是拿来引用它所实现的类.
    例如:
    List li=new ArrayList(); List是一个接口,但ArrayList是一个类,它有实现List这个接口.
    既然ArrayList实现了List,那么List里的抽象方法都被ArrayList实现,我们就可以用
    li.add(Object o)等List具有的方法.
      

  4.   

    Iterator it= list.iterator();//返回一个迭代容器给it
    if(it.hasNext()){            //如果此扫描器的输入中有另一个标记,则返回 true
    .....
    }
    在这个例子中接口it可以用hasNext()方法,而且这个方法已经被类Scanner实现了!
      

  5.   

    1.接口不能 new
    你继承了一个 接口 就继承了他的所以 抽象方法2.接口 也是 类 
    之所以 List li=new ArrayList(); 
    是因为 接口List 是父类  ArrayList实现了 List 接口  List指向了子类的引用
      

  6.   

    comparator接口为什么使用的时候只实现了compare()方法呢?
    --------------------------------------------------------
    comparator接口有两个方法要实现,一个compare(),一个是equals()
    Object 已经有实现了equals();
    因为所有对象都是Object的子类,所以他们也都有equals(),故不需要再实现equals,当然有特殊情况,你还是需要重写equals