The interface is public, there is no private method or variable, it is used for others to use,
and abstract classes can have private methods or private variables,
In addition, the implementation of the interface must be implemented in all the methods defined in the interface,
And the implementation of the abstract class can selectively rewrite the need to use the method, the general application, the most top-level interface, and then the abstract class implementation interface, finally to the concrete class implementation.
Also, an interface can implement multiple inheritance, and a class can inherit only one superclass, but it is possible to implement multiple inheritance by inheriting multiple interfaces, and the interface has the function of identifying (there are no methods, such as remote interfaces) and data sharing (the variables inside are all constants).
2. The difference between abstract classes and interfaces