黑马程序员技术交流社区

标题: 抽象类与接口之间的区别是什么? [打印本页]

作者: SEPARATOR    时间: 2014-6-27 23:43
标题: 抽象类与接口之间的区别是什么?
抽象类与接口之间有什么关系?它们之间的区别又是什么?
作者: 215041631    时间: 2014-6-27 23:52
我也想知道
作者: 天,殇心    时间: 2014-6-28 22:17
抽象类与接口:
抽象类:一般用于描述一个体系单元,将一组共性内容进行抽取,特点:可以在类中定义抽象内容让子类实现,可以定义非抽象内容让子类直接使用。它里面定义的都是一些体系中的基本内容。
接口:一般用于定义对象的扩展功能,是在继承之外还需这个对象具备的一些功能。

抽象类和接口的共性:都是不断向上抽取的结果。

抽象类和接口的区别:
1:抽象类只能被继承,而且只能单继承。
    接口需要被实现,而且可以多实现。
2:抽象类中可以定义非抽象方法,子类可以直接继承使用。
   接口中都有抽象方法,需要子类去实现。
3:抽象类使用的是  is a 关系。
   接口使用的 like a 关系。
4:抽象类的成员修饰符可以自定义。
   接口中的成员修饰符是固定的。全都是public的。
作者: 歸羽    时间: 2014-6-28 23:35
抽象类的特点:
1:抽象方法只能定义在抽象类中,抽象类和抽象方法必须由abstract关键字修饰(可以描述类和方法,不可以描述变量)。
2:抽象方法只定义方法声明,并不定义方法实现。
3:抽象类不可以被创建对象(实例化)。
4:只有通过子类继承抽象类并覆盖了抽象类中的所有抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。
接口都用于设计上,设计上的特点:
1:接口是对外提供的规则。
2:接口是功能的扩展。
3:接口的出现降低了耦合性。
抽象类和接口的区别:
抽象类只能被单继承,但是接口可以实现多实现。抽象类中可以定义具体方法,子类可以直接继承使用。接口中都是抽象方法,需要实现接口的子类去复写。还有接口的成员修饰符是固定的。成员变量 public static final;成员函数:public abstract.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2