抽象类接口的区别:

(推荐教程:java入门教程)

抽象类中既可以包含抽象方法,也可以包含非抽象的普通方法;而接口中的方法必须是抽象方法。

抽象类中的抽象方法的访问类型可以是public、protected、default,但接口中的抽象方法只能是public。

抽象类中可以有普通成员变量,而接口中的所有变量均为public static final修饰,即均为常量。

抽象类里可以有构造方法,而接口中不能有构造方法。

抽象类里可以有静态方法,而接口中不能有静态方法。

一个类可以实现多个接口,但只能继承一个抽象类。如果抽象类实现接口,则可以把接口中的方法映射到抽象类中作为抽象方法,而不必实现,而在抽象类的子类中实现接口中方法。

抽象类和接口的相同点:

(学习视频推荐:java课程)

都可以被继承

都可以包含方法声明

都不可以实例化

派生类必须实现未实现的方法