Видеть здесь[^] для описания шаблона интерфейса маркера и комментария о том, почему это не очень хорошая идея. Существует лучшая альтернатива (аннотации), представленная в Java 5. (также доступна в .NET, под другим именем.)
Хороший ответ.
Интерфейс маркера-это интерфейс, который не имеет никаких методов, которые используются для выполнения определенных функций Ex: Serializable-это интерфейс маркера, который используется для выполнения таких операций, как сериализация и десериализация
В моей практике когда-то интерфейс маркера был действительно очень полезен. Когда у меня есть проект со многими независимыми модулями и одним основным модулем, и мне нужно выполнить некоторые операции с некоторыми модулями в основном модуле. Для требуемых классов я реализую этот интерфейс маркера, а затем в основном модуле только пишу проверку класса
instanceofинтерфейс, если да, то выполните действия.
Часто вы будете сталкиваться с интерфейсами в Java, которые не имеют никакого поведения. Другими словами, это просто пустые определения интерфейса. Они известны как маркерные интерфейсы.