Урок Java 378: Best practice 14: Чем интерфейсы лучше абстрактных классов
Чем интерфейс отличается от абстрактного класса?
Коротко: Подробно с примерами: Мы уже узнали, что абстрактный класс может хранить в себе атрибуты и методы, а значит он содержит в себе и состояние, и поведение. Интерфейс хранит в себе методы и описывает только поведение. Разберем более подробно на старом добром примере. У нас есть абстрактный класс Person и от него наследуются 3 класса - Маг, Воин и Охотник. Сделать наследование было логичным решением, чтобы не дублироваться в написании кода, у каждого из персонажей есть параметры здоровья и защиты, а так же каждый владеет методами боевого клича и контратаки...
Java 1169. Чем абстрактный класс отличается от интерфейса? В каких случаях следует использовать абстрактный класс, а в каких интерфейс?
Абстрактный класс и интерфейс - это два различных концепта в Java, которые используются для достижения абстракции и полиморфизма. Абстрактный класс - это класс, который определяет хотя бы один абстрактный метод. Абстрактные методы - это методы без тела, которые должны быть переопределены в подклассах, чтобы дать им конкретную реализацию. Кроме того, абстрактный класс может иметь и конкретные методы с телом. Интерфейс - это коллекция абстрактных методов, которая определяет действия (методы), которые реализующий класс обязуется поддерживать...