Класс – это шаблон (blueprint) для создания объектов, определяющий их состояние (поля) и поведение (методы).
Объект (экземпляр класса) – это конкретное воплощение класса в памяти с уникальным состоянием.
Интерфейс – это контракт, полностью абстрактный тип, который определяет набор методов, которые должны быть реализованы классами, его имплементирующими.
| Свойство | Класс | Объект | Интерфейс |
|---|---|---|---|
| Сущность | Шаблон | Экземпляр класса | Контракт |
| Состояние | Могут иметь поля (состояние) | Имеет конкретные значения полей | Поля только статический final |
| Поведение | Могут иметь методы (поведение) | Выполняет методы, определенные классом | Определяет сигнатуры методов |
| Абстрактность | Могут быть абстрактными | Не абстрактны | Полностью абстрактны |
| Множественное наследование | Нет | Нет | Да (множественная имплементация) |
| Создание | Создается с помощью ключевого слова class | Создается с помощью ключевого слова new | Создается с помощью ключевого слова interface |
Пример:
java