public class Test extends A implements B,C,D{
     ..................... 
}A是类(或抽象类)只能继承一个 B,C,D是接口 可以继承多个interface

解决方案 »

  1.   

    我个人认为:
    抽象类(abstract class)里存放着被其他子类共享的公共行为和方法,比如java.awt.Component
    ,它是一个抽象类,是所有AWT组件的超类,抽象类里可以包含构造、抽象方法,当然也是用 abstract来修饰,并且方法体里没有具体的实现,这一点似乎和接口很相象-------
    然而接口比抽象类和抽象方法能提供更多的功能:
    接口是为了解决类不能实现多重继承而出现的,通过实现接口,你可以使用到你继承的超类中所不支持的功能,比如事件监听、比如实现线程
    接口中的方法也是没有具体实现,但接口和抽象类所不同的是:抽象类仍然是类,它还是从Object类继承而来,但你可以定义与Object类无关的接口,接口可以完全独立的存在;另外和类不同的是:接口自身可以多重继承!比如:
    public interface subInterface extends fatherInterface1,fatherInterface2,......
    我想大多数情况下,你应该使用接口,除非你要建立一个类似JAVA类库的庞大的类层次结构,那么在
    顶层你可以使用抽象类
      

  2.   

    抽象类可以包含实例方法,也能包含可被继承的成员变量
    接口不能包含任何实例方法,而且其成员变量默认为static和final
    如果你定义一个父类,不希望父类本身被实现,但希望父类含有重用的代码,那么用抽象类。
    如果你只想定义一组某些类需要实现的“契约”,那么用接口。
      

  3.   

    一个大点的系统都是由技术领导者编写框架,编写好多接口以及抽象类
    然后找一些coder来实现抽象类中要做的事情
    是这样的吗 ?