Найти в Дзене
DEBAGanov

Java 373. Что такое маркерные интерфейсы? Для чего используются маркерные интерфейсы?

Маркерные интерфейсы (Marker Interface) - это интерфейсы, которые не содержат методов. Они используются для пометки классов в качестве имеющих какие-то особенности или свойства.

Классы, которые реализуют маркерный интерфейс, получают информацию о том, что объект этого класса обладает конкретным свойством, и могут быть обработаны соответствующим образом. Это позволяет использовать условные операторы или динамическое связывание для принятия решения об обработке объекта.

Маркерные интерфейсы не определяют никаких методов, потому что они служат только маркером, указывающим на наличие какого-то особенного свойства у класса. В языке Java существует ряд стандартных маркерных интерфейсов, таких как:

  • java.io.Serializable - для классов, которые могут быть сериализованы
  • java.lang.Cloneable - для классов, которые можно клонировать
  • java.util.RandomAccess - для классов, которые поддерживают быстрый доступ по индексу

Например, если мы хотим пометить класс как сериализуемый, мы можем реализовать маркерный интерфейс Serializable следующим образом:

import java.io.Serializable;

public class MyClass implements Serializable {
// Класс, который можно сериализовать }

Здесь класс MyClass реализует маркерный интерфейс Serializable, который указывает на то, что объекты этого класса могут быть сериализованы.

Таким образом, маркерные интерфейсы используются для пометки классов в качестве имеющих какие-то особенности или свойства, без определения конкретного поведения. Они позволяют использовать условные операторы или динамическое связывание для принятия решений относительно обработки объектов.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov