interface & abstract class

抽象类和接口的区别

抽象类

  • 抽象类中可以定义构造器,接口不能
  • 可以有抽象方法和具体方法
  • 抽象类中得成员可以是private、friend、protected、public
  • 抽象类可以定义成员变量
  • 有抽象方法的类必须被声明为抽象类,抽象类未必要有抽象方法。
  • 抽象类中可以包含静态方法

接口

  • 接口中不能定义构造器
  • 方法全部都是抽象方法
  • 接口中的成员全部都是public的
  • 接口中定义的成员变量实际上都是常量
  • 接口中不能有静态方法
  • 一个类可以实现多个接口

继承、实现

  • 一个类只能继承一个抽象类,可以实现多个接口。
  • 当一个类继承一个抽象类后必须实现抽象类所有的抽象方法,除非它是一个抽象类,抽象类继承抽象类后可以实现父类某个方法,也可以不实现。
  • 当一个类实现一个接口时,也必须要实现接口中所有的抽象方法。
  • 被static修饰的类不能继承和实现接口

猜你喜欢

转载自blog.csdn.net/dc_space/article/details/81516327
今日推荐