Такие интерфейсы называются маркерными (marker interfaces). Они не содержат методов, а служат для аннотирования классов, указывая компилятору или JVM на определенные свойства или семантику класса.
Примеры:
java.io.Serializable: Помечает класс как сериализуемый.java.lang.Cloneable: Указывает на возможность клонирования объекта.java.util.RandomAccess: Оптимизирует произвольный доступ к элементам списка.Преимущества:
Альтернативы (в зависимости от контекста):
@interface).Маркерные интерфейсы предпочтительны, когда нужно обозначить атрибут класса без добавления поведения.