Встречается на собеседованиях • сегодня

Почему интерфейсы-маркеры больше не создают

Интерфейсы-маркеры (например, Serializable, Cloneable) устарели из-за недостатков:

  1. Отсутствие контракта - они не содержат методов, что может вводить в заблуждение (например, Cloneable не гарантирует корректного клонирования)
  2. Проблемы с аннотациями - современные аннотации (@FunctionalInterface, @Deprecated) дают больше гибкости и информации
  3. Сложность проверки - нельзя на этапе компиляции проверить, реализовал ли класс требуемое поведение

Лучшая альтернатива - аннотации или интерфейсы с методами по умолчанию:

java
// Вместо маркера
public interface Validatable {
    default void validate() {
        // реализация по умолчанию
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы