Встречается на собеседованиях • сегодня
Почему интерфейсы-маркеры больше не создают
Интерфейсы-маркеры (например, Serializable, Cloneable) устарели из-за недостатков:
- Отсутствие контракта - они не содержат методов, что может вводить в заблуждение (например,
Cloneableне гарантирует корректного клонирования) - Проблемы с аннотациями - современные аннотации (
@FunctionalInterface,@Deprecated) дают больше гибкости и информации - Сложность проверки - нельзя на этапе компиляции проверить, реализовал ли класс требуемое поведение
Лучшая альтернатива - аннотации или интерфейсы с методами по умолчанию:
java
// Вместо маркера
public interface Validatable {
default void validate() {
// реализация по умолчанию
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы