1. Abstract: in addition to being able to define abstract members, it also provides specific implementation details of some members. The interface can only contain a set of abstract member definitions.
2. abstract classes and interfaces support polymorphism. The difference is that to realize polymorphism, an abstract class must have a subclass that inherits it, rather than a class of the same level or higher level. The interface supports polymorphism and has no limitations on hierarchy inheritance. As long as a group of classes implement interfaces, these classes reflect polymorphism. An example is: system. array, system. String has no parent-child relationship, but they all implement the icloneable interface.
3. abstract class derived types must be abstract members while inheriting the parent class members, which may not be meaningful in some cases. Interfaces provide more flexible plug-in Processing Methods: interfaces can be implemented at any inheritance level when necessary.