1,抽象类和接口的区别
相同点:
都不能被实例化
继承抽象类或者实现接口的子类必须实现抽象类或接口的所有抽象方法,若没有实现所有抽象方法,则该类需要定义为抽象类。
不同点 :
接口能够多继承,而抽象类只能单独被继承
Java8中接口可以拥有方法体
口的设计理念是 “has - a” ,关系,即强调特定功能的实现,而抽象类强调所属关系,即 “is - a” 关系
接口中定义的成员变量默认为 public static final,不能被修改且需要赋初始值。而抽象类的成员变量跟普通类的相同