接口、抽象类

发布时间 2023-11-20 13:19:25作者: langhl

从设计思想层面:

  1. 接口定义一种规范,实现接口的类都要遵循这种规范,体现了一种自上而下的思想;举例子:公司制定了相关规范,员工要遵守相关规范。
  2. 抽象类是从所有子类中提取出共同的特征,是一种自下而上的思想。举例子:对事物的分类。

从具体实现来讲:

  1. 定义方法的区别:
    • 接口只能定义抽象方法,不能有具体实现;
    • 抽象类可以定义抽象方法,也能定义普通方法,可以有方法的实现。抽象类相当于试卷,抽象方法相当于主观题,普通方法相当于客观题。试卷上可以有主观题和客观题,也可以没有。
  2. 定义变量的区别:
    • 接口只能定义常量
    • 抽象类可以定义普通变量
  3. 继承和实现
    • 接口可以继承多个接口,子类可以实现多个接口;
    • 抽象类可以继承一个父类和实现多个接口,子类只能继承一个抽象类。