abstract class和interface有什么区别?

 我来答
说太多不如沉黙
高粉答主

推荐于2019-11-06 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:187
采纳率:100%
帮助的人:5.1万
展开全部

区别如下:

  1. 相同点
    两者都是抽象类,都不能实例化。

    interface实现类及abstrct class的子类都必须要实现已经声明的抽象方法。

  2. 不同点

    interface需要实现,要用implements,而abstract class需要继承,要用extends。

    一个类可以实现多个interface,但一个类只能继承一个abstract class。

    interface强调特定功能的实现,而abstract class强调所属关系。

    尽管interface实现类及abstrct class的子类都必须要实现相应的抽象方法,但实现的形式不同。interface中的每一个方法都是抽象方法,都只是声明的 (declaration, 没有方法体),实现类必须要实现。而abstract class的子类可以有选择地实现。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式