接口和抽象类的区别

  1. 一个类能继承多个接口,但是只能继承一个抽象类。
  2. 接口只能定义方法名和静态常量,抽象类除了抽象方法不能有方法体之外其他所有普通类的功能都可以使用。
  3. 接口中不能有构造器,抽象类是个类所以他存在构造器。
  4. 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
  5. 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
  6. 接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
  7. 一个类只能继承一个抽象类,而一个类却可以实现多个接口。
  8. 接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)。

posted on 2019-02-28 09:52  jrz  阅读(75)  评论(0编辑  收藏  举报

导航