例如
public class LinkedList extends AbstractSequentialList implements List, Cloneable, Serializable其中AbstractSequentialList是实现了List的

解决方案 »

  1.   

    如果不写implements InterfaceA在类中就可以不写InterfaceA要求的方法了,但如果执行接口则必须写。个人认为是一种强制复写方法的机制,在特定的时候会有用。
      

  2.   

    欢迎大家讨论啊
     BasaraTracy(不屈斗志) :
    如果每个都要复写,AbstractClassA实现的方法,不就浪费了
      

  3.   

    第二种方法,强迫你重写AbstractClassA中的方法
      

  4.   

    嗯, 这样做还是有意义的. 比如://InterfaceA.java
    public interface InterfaceA {
      void m1();
      void m2();
    }//AbstractClassA.java
    public abstract class AbstractClassA implements InterfaceA {
      public void m1() { } //实现了m1, 但没有实现m2
    }//ClassA.java
    public class ClassA extends AbstractClassA {
      public void m2() { } //只实现父类中没有实现的m2就行了, 因为m1已经在父类中实现了
    }//ClassB.java
    public class ClassB extends AbstractClassA implements InterfaceA {
      public void m1() { } //尽管m1已经在父类中实现了, 但仍然需要再次实现
      public void m2() { } //因为再次implements了接口
    }
      

  5.   

    Dan1980(String someGoodAdvices):
    public class ClassB extends AbstractClassA implements InterfaceA {
      public void m1() { } //尽管m1已经在父类中实现了, 但仍然需要再次实现
      public void m2() { } //因为再次implements了接口
    }
    我写成
    public class ClassB extends AbstractClassA{
      public void m1() { } //我直接重写这个方法啊
      public void m2() { } 
    }
    同样可以达到效果啊
      

  6.   

    1.为什么要,强迫你重写AbstractClassA中的方法。什么情况下需要这么做。
    2.靠Coder自律做不到么?
      

  7.   

    各位各位,也许小弟理解有误,或者是小弟还不够火候,不过楼上说"这样是强制重构的大哥们好像说错了"
    请看以下代码:public interface InterfaceA{
    public void doSomeThing1();
    public void doSomeThing2();
    }
    public abstract class AbstractClassA implements InterfaceA{
    public void doSomeThing1(){

    }
    }public class ClassA extends AbstractClassA implements InterfaceA{
    public void doSomeThing2(){

    }

    public static void main(String[] src){
    new ClassA();
    }
    }此段代码可以正常运行,也就是说我不用在ClassA中强制重构doSomeThing1()这个方法,
    个人认为就我现在的理解能力,这样写是多此一举
      

  8.   

    SUN的人来这里嘛?他们设计jdk的时候为什么要这么设计啊?
      

  9.   

    个人理解还是因为AbstractClassA 只实现了InterfaceA的一部分方法,而ClassA 则要实现别一部分。
      

  10.   

    说强制实现接口里方法的人怎么回事,难道类签名中有implements接口就一定必须实现接口中的方法吗?
    错了,只要父类有实现就可以了。同意楼上,这样写比较直观,对于这个类的实用者来讲,比较明了,尤其是不看javadoc而直接读代码的人。另外,我觉得这样的话也可以保证接口的稳定,比如extends的父类不再实现该接口了,子类还可以不用变更。不知有没有道理,我估计这也是一种best practice吧.
      

  11.   

    java允许单继承类,但是可以多继承接口!