Почему многие классы Collection в Java расширяют класс Abstract, а также реализуют интерфейс (который также реализуется данным абстрактным классом)?
Например, класс HashSet расширяет AbstractSet, а также реализует Set, но AbstractSet уже реализует Set.