问答详情
源自:10-5 Java 中的接口

接口和抽象类都是用来用作规范子类的?

接口和抽象类都是用来用作规范子类的?

他们有什么区别?

提问者:dikadabo 2015-03-16 18:29

个回答

  • Coda
    2015-03-16 21:59:57
    已采纳

    Java接口与抽象类的相同点:
    1. 都不能被实例化。
    2. 都能包含抽象方法。

    Java接口与抽象类的不同点:

    接口支持多继承;抽象类不能实现多继承。
    接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。
    接口是一组行为规范;抽象类是一个不完全的类,着重族的概念。
    接口可以用于支持回调;抽象类不能实现回调,因为继承不支持。
    接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法。
    接口可以作用于值类型和引用类型;抽象类只能作用于引用类型。

  • dikadabo
    2015-03-16 18:34:00

    抽象类只能被单继承,但是接口能被多继承。接口弥补了类在继承上的不足