相似点:
(1)接口和抽象类都不能被实例化
(2)实现接口或继承抽象类的普通子类都必须实现这些抽象方法
不同点:
(1)抽象类可以包含普通方法和代码块,接口里只能包含抽象方法,静态方法和默认方法,
(2)抽象类可以有构造方法,而接口没有
(3)抽象类中的成员属性可以是各种类型的,接口的成员属性只能是 public static final 类型的,并且必须赋值(这个赋值是在声明变量时进行的,而不是在接口的构造方法中进行的)
(4)定义关键字不同,接口使用关键字 interface 来定义,抽象类使用关键字 abstract 来定义