抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
一个类只能继承一个抽象类,而一个类却可以实现多个接口。
相同点:
抽象类和接口都不能被实例化,但可以定义抽象类和接口类型的引用。
一个类如果继承了抽象类和接口,必须要对其中的抽象方法全部实现(接口中方法默认的是public abstract修饰的)否则该类仍然需要被声明为抽象类。