2024-03-26 22:05阅读: 7评论: 0推荐: 0

【知识点】接口和抽象类的区别

相同点:

  • 都不能实例化
  • 都可以被实现或者继承
  • 继承或者实现的子类需要实现全部抽象方法,否则需要声明为抽象类

不同点:

不同点 抽象类 接口
声明 abstract interface
继承/实现 extends implements
构造器 可以有构造器 不能有构造器
方法 抽象方法和具体方法 抽象方法和默认方法
方法修饰 可以是任意修饰符 默认public且只能是public
多继承 子类只能继承一个抽象类 子类可以实现多个接口
成员变量 可以任意声明 默认且只能声明为 static final

抽象类通常用来捕捉子类通用特性,是一种模板设计。
接口是对行为的抽象,或者说约定。

选择原则:

  • 行为模型应该用接口而不是抽象类来定义,所以通常优先选用接口,尽量少用抽象类
  • 当即需要定义子类行为,又要为子类提供通用功能时,可以选择抽象类

本文作者:编程随写

本文链接:https://www.cnblogs.com/code-blog/p/18097738

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   code-blog  阅读(7)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起