接⼝和抽象类

131 阅读1分钟

接⼝和抽象类

  • 共同点 :
    • 都不能被实例化。
    • 都可以包含抽象⽅法。
    • 都可以有默认实现的⽅法(Java 8 可以⽤ default 关键字在接⼝中定义默认⽅法)。
  • 区别 :
    • 接⼝主要⽤于对类的⾏为进⾏约束,实现了某个接⼝就具有了对应的⾏为。
    • 抽象类主要⽤于代码复⽤,强调的所属关系。
    • ⼀个类只能继承⼀个类,但是可以实现多个接⼝。
    • 接⼝中的成员变量只能是 public static final 类型的,不能被修改且必须有初始值,⽽抽象类的成员变量默认 default,可在⼦类中被重新定义,也可被重新赋值。