Interfaces allow you to express what a type does without worrying about how this is done. The implementation can be changed as desired without prejudice to customers.
Abstract classes are similar to interfaces, except that they provide reasonable default behavior for the methods in which it exists.
. Java, API. java.util .