面试题07-接口和抽象类

一、区别

  • 抽象类可以存在普通成员函数,而接口中只能存在public abstract方法;
  • 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final
  • 抽象类只能extends继承一个,接口可以implements实现多个

目的

  • 接口

接口是为了对类的方法进行约束,提供了一种机制,可以强制要求不同的类具有相同的方法。只约方法的有无,但不对如何实现行为进行限制。

接口是对方法(行为)的抽象,核心是定义行为,即实现类可以做什么

  • 抽象类

为了代码的复用,当不同的类具有某些相同的行为

抽象类是对类本质的抽象,抽象类包含并实现子类的通用特性,将子类存在差异化的特性进行抽象,交由子类去实现。

原文地址:https://www.cnblogs.com/jsit-dj-it/p/15458089.html