Member Differences
Abstract class:
Member variables: Can be variables, or constants
Construction method: Available
Member methods: can be abstract or non-abstract
Interface:
Member variable: can only be a constant
Member methods: can only be abstracted
Relationship Differences
Classes and classes:
Inheritance, single inheritance
Classes and Interfaces:
Implementation, single implementation, multi-implementation
Interfaces and interfaces:
Inheritance, single inheritance, multiple inheritance
Differences in design concepts
Abstract class: The relationship of being a is embodied by inheritance. What is defined in the abstract class should be the common function of the inheritance system.
Interface: The implementation embodies the relationship of like a. The extension functionality of the inheritance system is defined in the interface.
The differences between Java abstract classes and interfaces