Simply put, classes that use the abstract modifier are abstract classes, and abstract classes can contain no abstract methods (methods that are modified by the abstract), and abstract classes can also include methods and member variables in ordinary classes. An ordinary class inheriting an abstract class must implement all the abstract methods in that abstract class, and an abstract class that inherits another abstract class can partially implement or not implement an abstract method of its parent class.
An interface (interface) is an abstraction of behavior, and all methods of an interface must be abstract methods whose variables can only be modified by public static final.
The difference is also as above, while the interface can not contain static code blocks and static methods, abstract classes may be included; Abstract classes are only single inheritance, interfaces can be implemented more
java-What is the difference between an abstract class and an interface?