Пользовательский интерфейс маркера в Java

Поскольку Serializable и Cloneable - это маркерный интерфейс (интерфейс, у которого нет никакого метода), поэтому, если мы создадим наш собственный маркерный интерфейс, то в чем будет разница между этими двумя.

1 ответ

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

java.io.Serializable
java.lang.Cloneable

Они распознаются JVM во время выполнения.
Например, позвонив clone() на объекте, который не реализует Cloneable бросит

java.lang.CloneNotSupportedException

Возможно, вы захотите использовать маркерные интерфейсы для пользовательских проверок во время выполнения или даже для обработки во время компиляции. Однако рекомендуется использовать аннотации.

Другие вопросы по тегам