Skip to content
目录概览

抽象类和接口的区别?

成员区别

  • 抽象类
    • 成员变量 可以是变量,也可以是常量
  • 构造方法
  • 成员方法 可以抽象,也可以非抽象
  • 接口:
    • 成员变量 只可以常量
    • 成员方法 只可以抽象

关系区别

  • 类与类 继承,单继承
  • 类与接口 实现,单实现,多实现
  • 接口与接口 继承,单继承,多继承

设计理念区别

  • 抽象类 被继承体现的是:“is a”的关系。 抽象类中定义的是该继承体系的共性功能。
  • 接口 被实现体现的是:“like a”的关系。 接口中定义的是该继承体系的扩展功能。