-
接口只有定义,不能有方法的实现,java 1.8中可以定义default方法体,而抽象类可以有定义与实现,方法可在抽象类中实现。
-
实现接口的关键字为imple ments,继承抽象类的关键字为e xtends。一个类可以实现多个接口,但一个类只能继承一个抽象类。所以,使用接口可以间接地实现多重继承。
-
接口强调特定功能的实现,而抽象类强调所属关系。
-
接口成员变量默认为public static final,必须赋初值,不能被修改;其所有的成员方法都是public、abstract的。抽象类中成员变量默认de fault,可在子类中被重新定义,也可被重新赋值;抽象方法被abstract修饰,不能被private、static、synchronize d和native等修饰,必须以分号结尾,不带花括号。