面试题07-接口和抽象类
一、区别
- 抽象类可以存在普通成员函数,而接口中只能存在
public abstract
方法; - 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是
public static final
- 抽象类只能
extends
继承一个,接口可以implements
实现多个
目的
- 接口
接口是为了对类的方法进行约束,提供了一种机制,可以强制要求不同的类具有相同的方法。只约方法的有无,但不对如何实现行为进行限制。
接口是对方法(行为)的抽象,核心是定义行为,即实现类可以做什么
- 抽象类
为了代码的复用,当不同的类具有某些相同的行为
抽象类是对类本质的抽象,抽象类包含并实现子类的通用特性,将子类存在差异化的特性进行抽象,交由子类去实现。