A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


接口和抽象类的比较

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

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

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


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

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

7 个回复

倒序浏览
总结挺详细 谢谢分享
回复 使用道具 举报
这是不是视频里面的  老师总结的啊  !  楼主全波抄下来了
回复 使用道具 举报 1 0
O(∩_∩)O谢谢楼主分享。。。
回复 使用道具 举报
还是接口好用
回复 使用道具 举报
嗯,我也觉得接口比抽象类管用多,接口还是好,
回复 使用道具 举报
感谢分享。
回复 使用道具 举报
一些小心得吧,学到最后就一点一点的知道了接口的好处了;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马