#Вопрос_с_собеседования
Какая разница между абстрактным классом и интерфейсом?
Ответ:Абстрактный класс:
абстрактные классы имеют дефолтный конструктор; он вызывается каждый раз, когда создается потомок этого абстрактного класса;
содержит как абстрактные методы, так и не абстрактные. По большому счету может и не содержать абстрактных методов, но все равно быть абстрактным классом;
класс, который наследуется от абстрактного, должен реализовать только абстрактные методы;
абстрактный класс может содержать Instance Variable.
Интерфейс:
не имеет никакого конструктора и не может быть инициализирован;
только абстрактные методы должны быть добавлены (не считая default methods);
классы, реализующие интерфейс, должны реализовать все методы (не считая default methods);
интерфейсы могут содержать только константы.
Какая разница между абстрактным классом и интерфейсом?
Ответ:
абстрактные классы имеют дефолтный конструктор; он вызывается каждый раз, когда создается потомок этого абстрактного класса;
содержит как абстрактные методы, так и не абстрактные. По большому счету может и не содержать абстрактных методов, но все равно быть абстрактным классом;
класс, который наследуется от абстрактного, должен реализовать только абстрактные методы;
абстрактный класс может содержать Instance Variable.
Интерфейс:
не имеет никакого конструктора и не может быть инициализирован;
только абстрактные методы должны быть добавлены (не считая default methods);
классы, реализующие интерфейс, должны реализовать все методы (не считая default methods);
интерфейсы могут содержать только константы.