0

Сперва предисловие, чтобы поняли суть вопроса: Поскольку учить программирование я начал в универе с С++, для меня абстрактный класс и интерфейс отличаются только реализацией: если класс только из абстрактных методов, которые обязательно нужно будет переопределить у наследников (нет обычных методов с реализацией) то это интерфейс. В Java у меня сломался мозг, потому что при помощи default- методов можно написать реализацию в классе, который мы изначально специально помечаем как интерфейс (даже специальным отдельным ключевым словом). Хотя по факту я же могу просто написать обычный абстрактный класс с реализацией в тех функциях, где надо. Так в чём разница между обычными методами с реализацией в абстрактных классах и default в интерфейсах? Неужели не хватало одного варианта?

0 Answers0