抽象类和接口的区别

1、 接口的成员变量默认是public final static,且只能被这三个修饰词修饰。由于是final,因此必须指定初始化值。因此通常不会在接口中定义成员变量。

  抽象类没有限制。

2、一个类可以继承多个接口,但是只能继承一个抽象类。

3、接口的方法修饰词默认是public & abstract,且只能被这两个修饰。

  抽象类的方法修饰词没有限制。

4、接口中的方法都没有方法体。

  抽象类的方法可以有方法体,也可以不写方法体(但必须为方法添加修饰词abstract,同时可以添加public或protected,不能写其他)。

5、实现接口必须重写里面的所有方法。

  实现抽象类必须重写里面的所有抽象方法。非抽象可以不重写。

6、接口与抽象类都不可以被实例化。

原文地址:https://www.cnblogs.com/yxth/p/7452190.html