1.接口是用implement修饰,而抽象类是用abstract修饰。
2.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。
3.在abstract class 中可以普通成员变量,也可以有非abstarct的成员方法,而在interface中,只能够定义常量(用static final修饰),所有的成员方法都是abstract的。
4.抽象类里可以有构造方法,而接口内不能有构造方法。
5.抽象类中的抽象方法的访问类型可以是public ,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
6.抽象类中可以包含静态方法,接口内不能包含静态方法。
7.抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static类型,并且默认为public static类型。