黑马程序员技术交流社区

标题: 抽象类跟接口的区别,相同点; [打印本页]

作者: 爱java爱生活    时间: 2015-6-15 23:17
标题: 抽象类跟接口的区别,相同点;

接口和抽象类的比较

相同点:
都位于继承的顶端,用于被其他实现或继承;
都不能实例化;
都包含抽象方法,其子类都必须覆写这些抽象方法;

区别:
抽象类为部分方法提供实现,避免子类重复实现这些方法,提供代码重用性;接口只能包含抽象方法;
一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承)

二者的选用:
优先选用接口,尽量少用抽象类;
需要定义子类的行为,又要为子类提供共性功能时才选用抽象类7/;


我的总结:
接口不能有构造函数,抽象类是可以有构造函数的,
abstract可以定义构造函数(包括带函数的构造函数),因为要保证其子类在创建的时候能够进行正确的初始化,但是Abstract类不能被实例化。

知识点:如果不可以或者没有创建对象,那么我们必须加上static修饰,不能用对象调用,就只好用类去调用。

作者: hieiyukina    时间: 2015-6-15 23:57
总结挺详细 谢谢分享
作者: 杨凯瑞    时间: 2015-6-16 07:41
这是不是视频里面的  老师总结的啊  !  楼主全波抄下来了
作者: 乔栋    时间: 2015-6-16 08:15
O(∩_∩)O谢谢楼主分享。。。
作者: 给点正能量    时间: 2015-6-16 08:34
还是接口好用
作者: 爱java爱生活    时间: 2015-6-16 23:51
嗯,我也觉得接口比抽象类管用多,接口还是好,
作者: 安安安    时间: 2015-6-16 23:54
感谢分享。
作者: 爱java爱生活    时间: 2015-6-18 21:58
一些小心得吧,学到最后就一点一点的知道了接口的好处了;




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