public interface A
public abstract class B implement A
public class C extends B implement A我想问类C为什么还要实现接口A的呢?抽象类B不是实现接口A了么?

解决方案 »

  1.   

    可以不用实现A, 只要B里面实现Apublic interface IntA {
    public void test1();
    }public abstract class AbsB implements IntA{
    public abstract void test2();
    @Override
    public void test1() {
    // TODO Auto-generated method stub
    System.out.println("aaa");
    }
    }public class ClaC extends AbsB implements IntA{ @Override
    public void test2() {
    // TODO Auto-generated method stub

    } public static void main(String [] args){
    ClaC c = new ClaC();
    c.test1();
    }
    }
      

  2.   

    C是否实现A,取决于是否想要 C 实现 A里的B未实现的方法
      

  3.   


    public interface A { void aaa();
    void bbb();
    }
    public abstract class B implements A{ abstract void test1();
    abstract void test2();
    public void test3() {

    }
    public void aaa(){

    }
    }public class C extends B {
    @Override
    void test1() {
    // TODO Auto-generated method stub
    } @Override
    void test2() {
    // TODO Auto-generated method stub
    } @Override
    public void bbb() {
    // TODO Auto-generated method stub
    }
    }
    C 没有实现A,但也没强制要求实现A中的方法bbb();