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