接口和抽象类的共性与区别
1.共性:
抽取出抽象的概念,没有具体实现的方法,都不能实例化(不能创建对象)
2.区别1: 与类的关系
(1)类与接口是实现关系,而且是多实现,一个类可以实现多个接口。
类与抽象类是继承关系,Java中的继承是单一继承多层继承,一个类只能继承一个父类(单一),但是可以有爷爷(多层)
区别2:成员
a.成员变量
抽象类可以有成员变量,也可以有常量
接口只能有常量,默认修饰符public static final
b.成员方法
抽象类可以有抽象方法,也可以有非抽象方法
接口只能有抽象方法,默认修饰符 public abstract
c.构造方法
抽象类有构造方法,为子类提供
接口没有构造方法