🎄 Чем отличается абстрактный класс от интерфейса?
Абстрактные классы и интерфейсы используются для обеспечения полиморфизма, но у них разные сценарии применения:
- Наследование: Абстрактный класс поддерживает единичное наследование, интерфейс — множественное.
- Реализация: Абстрактный класс может содержать поля и методы с реализацией. В то время как интерфейс (до Java 8) не мог иметь методы, после Java 8 в интерфейсах появились default методы. Поля в интерфейсах могут быть только public static final.
- Когда выбирать: Абстрактный класс — для объектов с общим поведением, интерфейсы — для описания возможностей или контрактов.
Абстрактные классы — это про кто я такой, интерфейсы — про что я могу делать.
Post #724
2.19K
- 👍 26
- 🔥 6
- 👏 2
- 🎉 1