(面试题)接口和抽象类的区别

91 阅读1分钟

区别:

  • 一个类只能继承一个抽象类,但是可以继承多个接口
  • 抽象类中的成员变量可以是任意型的,接口中的成员变量必须是public abstract final修饰的
  • 抽象类中可以存在普通的成员函数,接口中所有方法必须是public abstract修饰的

深入理解:

  • 接口设计的目的是规定类的职责
  • 抽象类设计的目的是描述类的本质,主要功能是代码复用,提取子类共性代码放到抽象类中实现,差异化的行为留给子类实现