引言 接口和抽象类是面向对象编程(OOP, Object Oriented programming)中两个绕不开的概念,二者相似而又有所不同.接下来,我们来了解二者的概念并比较它们的异同. 什么是抽象类? 抽象类是一种特殊的类,该类不能被实例化.抽象类的存在就是为了被继承,即抽象类可以被其它类继承但不能被实例化.那么,我们为什么需要一个无法被实例化的类呢?这样做的优点是,通过抽象类我们制定了一份强制所有子类必须遵守的合约,使所有子类有着一致的层次结构.抽象类提供了一种规范用于规定子类如何进行工作