Урок Java 378: Best practice 14: Чем интерфейсы лучше абстрактных классов
Java 1170. Почему в некоторых интерфейсах вообще не определяют методов?
В Java есть такой концепт как "маркерный интерфейс" (marker interface). Это интерфейс, который не имеет методов. Его основное предназначение - помечать классы, чтобы это имело какой-то эффект на уровне компиляции или рантайма. Например, маркерный интерфейс java.io.Serializable не определяет методов, он просто указывает компилятору и JVM, что класс, который его реализует, может быть сериализован (т.е. его объекты могут быть преобразованы в поток байтов и обратно), и нужно выполнить некоторые действия в рантайме, чтобы это было возможно...
Java. Интерфейсы
Интерфейс - это абстрактный тип данных, в котором не указаны реализации методов. Он определяет общее поведение для группы классов, не описывая при этом, как именно это поведение должно быть реализовано. Интерфейсы могут содержать методы и константы, но не могут содержать обычные переменные экземпляра или конструкторы. Модификаторы по умолчанию, применяемые к полям и методам интерфейсов, являются следующими: Интерфейсы не имеют конструкторов и не могут быть инстанциированы, они могут быть только реализованы классом с помощью ключевого слова implements...