Сравнительная таблица:
| Аспект | Класс | Интерфейс |
|---|---|---|
| Состояние | Может иметь свойства со значением. | Не может иметь свойства со значением (только абстрактные). |
| Конструкторы | Могут быть. | Не имеют. |
| Реализация | Может предоставлять полную реализацию. | Предоставляет частичную или полную реализацию (с default-методами). |
| Наследование | Наследует от одного класса. | Реализует множество интерфейсов. |
| Инициализация | Может быть инстанциирован. | Не может быть инстанциирован напрямую. |
| Тип | Конкретный или абстрактный. | Только контракт поведения. |
Пример класса:
kotlin
Пример интерфейса:
kotlin