我是初学者,问错了请大家多多指教~刚才问的不对重问~
如果我有一个类A,A实现了一个接口IA,
而A的派生类B要实现接口IB,IB继承于IA。这时实现B类时只实现IB中新的方法就可以了么?
就是说通过B类的IB接口可以直接使用以前在A中实现的方法么?

解决方案 »

  1.   

    B 会直接使用A中实现的方法
    A是B的父类!啊
    所以你的IB其实可以不去继承IA。
      

  2.   

    B本来就只需要实现IB的方法即可
    B既然继承A,而A是实现了IA的方法的,也就是B天生就实现了IA的方法,那么就只剩下IB的方法靠B自己去实现
      

  3.   

    类之间 用 “继承” extend
    类和接口只能用 “实现” implements希望各位大虾能重视基本概念
      

  4.   

    给你个代码看看://IA.java
    public interface IA {
    public void A1();
    public void A2();
    }
    //A.java
    public class A implements IA { public void A1() {
    System.out.print("A1");
    }
    public void A2() {
    System.out.print("A2");
    }}
    //IB.java
    public interface IB extends IA { public void B1();
    public void B2();
    }
    //B.java
    public class B extends A implements IB { public void B1() {
    System.out.print("B1");
    }
    public void B2() {
    System.out.print("B2");
    }}
    //T.java
    public class T {
    public static void main(String[] args) {
    IB b=new B();
                      //IB c=new A(); 不正确
                      IA a=new B();//向上转型
    a.A1();
    //a.B1(); 不正确,因为a虽然是B的实例,但它的类型是IA,IA无此接口。
    b.A1();//正确
    b.B1();
    }
    }
      

  5.   

    利用继承,可方便地为一个接口添加新的方法声明,也可以将几个接口合并成一个新接口。在这种情
    况下,最终得到的都是一个新接口。
    通常,我们只能对单独一个类应用extends(扩展)关键字。但由于接口可能由多个其他接口构成,所以在构建一个新接口时,extends 可能引用多个基础接口。
    --------------------
    似乎回答过这个问题...
      

  6.   

    这时实现B类时只实现IB中新的方法就可以了么?
    ==========================================
    只要B类的直接超类A中没有abstract的方法,
    B类就可以直接实现IB接口中的新方法,IA接口中的方法想实现就实现
    就是说通过B类的IB接口可以直接使用以前在A中实现的方法么?
    ===================================================
    可以另外学java先学core java 2 v1,
    然后再学<<深入Java虚拟机(原书第2版)>>
    学完好,think in java就不用看了。写程序多看看API文档
      

  7.   

    类之间 用 “继承” extend
    类和接口只能用 “实现” implements
    ====================================
    interface也可以extends 其他的interface
      

  8.   

    B只要implements IB 就可以了A已经实现了IA 而B又是继承A的