резервное копирование с пространством

Вы хорошо описали практические различия в использовании и реализации, но ничего не сказали о различии в значении.

Интерфейс - это описание поведения, которое будет иметь класс реализации. Класс реализации гарантирует, что он будет иметь эти методы, которые могут быть использованы на нем. Это в основном контракт или обещание, которое должен выполнить класс.

Абстрактный класс является основой для разных подклассов, которые разделяют поведение, которое не нужно многократно создавать. Подклассы должны выполнить поведение и иметь возможность переопределить предопределенное поведение (если оно не определено как final или private).

Вы найдете хорошие примеры в пакете java.util, который включает интерфейсы, такие как List и абстрактные классы, такие как AbstractList, которые уже реализуют интерфейс. Официальная документация описывает AbstractList следующим образом:

Этот класс обеспечивает скелетную реализацию интерфейса List для минимизации усилий, необходимых для реализации этого интерфейса при поддержке хранилище данных «произвольного доступа» (например, массив).

-3
задан visulo 29 March 2019 в 11:37
поделиться