No one here will know what is happening in the minds of designers, but abstract classes and interfaces are used for different purposes.
Classes (in Java) inherit a strict hierarchy, and this hierarchy is a tool that can be used to ensure separation of unrelated classes of objects. Classes are also more logical when the basic functionality of the entire hierarchy is similar.
For example, with abstract classes Numberand Letterit would be impossible to have a class that is simultaneously. With the interfaces, you could create a class that implements both functions that make no sense.
, , , () , , , . , Serializable, Comparable Runnable.
: Printable Comparable , , Comparable Printable.
, , Number , , , . , , JDK , String.