接口和抽象类的区别

https://blog.csdn.net/qq_58772217/article/details/121542021
https://www.sohu.com/a/367158483_468635

语法区别

  1. 抽象类只能单继承;接口可以多实现;
  2. 接口的变量默认是public static final的,接口的方法默认是public;抽象类可以有public和private修饰的变量和方法,抽象方法的所属类必须定义为抽象类;
  3. 接口不能定义构造方法;抽象类可以定义构造方法;

特性区别

接口:自上而下,接口是用于规范,定义接口的时候不必考虑子类怎么实现;
抽象类:自下而上,抽象类用于共性,是把子类公共的东西抽象出来,泛化成父类;

你可能感兴趣的:(java,java)