— Привіт! Сьогодні я розповім тобі про відмінності абстрактного класу та інтерфейсу. Їх є декілька.
| Абстрактний клас | Інтерфейс |
|---|---|
| Успадкування | |
| Абстрактний клас може успадковуватись тільки від одного класу і будь-якої кількості інтерфейсів. | Інтерфейс не може успадковуватися від класів, але може від будь-якої кількості інтерфейсів. |
| Абстрактні методи | |
| Абстрактний клас може містити абстрактні методи. Але може і не містити їх взагалі. | Усі не статичні та не default методи інтерфейсу – абстрактні – не містять реалізації. Інтерфейс може не містити жодних методів взагалі. |
| Методи з реалізацією | |
| Абстрактний клас може містити методи з реалізацією. | Інтерфейс може містити методи за замовчуванням (default methods). |
| Дані | |
| Жодних обмежень. | Інтерфейс містить лише public final static дані. |
| Створення об'єкта | |
| Не можна створити об'єкт абстрактного класу. | Не можна створити об'єкт інтерфейсу. |
— Ось це я розумію. Коротко і по суті.
— Дякую.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ