Для чего используются аннотации?

Рассмотрим варианты использования аннотаций с точки зрения параметра тип хранения или RetentionPolicy. Оно может принимать одно из трёх возможных значений:

  • CLASS – данная аннотация присутствует в байт коде после компиляции, но игнорируется Java машиной, а значит не используется во время выполнения. Часто используется сторонними сервисами, которые используют вашу программу как plug-in модуль;
  • RUNTIME – этот тип аннотаций компилятор сохраняет в байт коде и подгружается Java машиной, а значит он может быть использован при выполнении приложения. Основная цель такой RUNTIME аннотации – предоставление информацией, которая может потребоваться во время выполнения приложения. Может использоваться в качестве меток в программе, которые способны влиять на процесс выполнения приложения. Для использования RUNTIME аннотации в приложении требуется выполнить определённый код процессинга, который может прочитать метаданные с помощью инструментов Reflection API. Этот подход применяется в таких популярных фреймворках как Spring и Jackson;
  • SOURCE – такая аннотация используется только на этапе написания исходного кода и не используется при компиляции. Такие аннотации могут быть двух видов:

Во-первых, нужных только программисту и не используемых приложением. Это могут быть специальные маркеры, которые добавляют необходимым элементам специфическую семантику. В качестве примера можно назвать @Immutable из Hibernate.

Во-вторых, команды, влияющие на работу компилятора, например, @SuppressWarnings и @Override, которые управляют показом сообщений об ошибках и предупреждений.

Проверьте себя после изучения темы

Бесплатный бот с тестами и практическими заданиями по Kotlin.

  • 22 бесплатных урока
  • Тесты к каждому уроку (всего 220 вопросов)
  • Задачи в рамках практики KotlinSprint (120 задач) и курсовой проект «Телеграм бот для изучения иностранных слов»
Начать обучение

Вам также может быть интересно

Узнать подробнее
Курс AndroidSprint

Глубокое обучение Android разработке с 0 до получения оффера. Только персональная практика с гарантией получения продуктового опыта.

Узнать подробнее
Узнать подробнее
Практикум по Kotlin

Изучение Котлин с 0 для профессиональной разработки. Личный ментор и разбор кода задач через git-flow.

Узнать подробнее
Узнать подробнее
Бесплатные уроки по Kotlin разработке

Самостоятельное освоение базы по языку для дальнейшего развития в Android/back-end разработке или в автотестах.

Узнать подробнее
Узнать подробнее
Onboarding в разработку

Полное обучение Android разработке с нуля до получения оффера. Делаем упор на практику и обратную связь

Узнать подробнее
Узнать подробнее
Обучающий Kotlin телеграм бот (с тестами)

Ваш основной инструмент для изучения основ языка. Бесплатные тесты и практика внутри.

Узнать подробнее
Узнать подробнее
Бесплатные уроки по Android разработке

Самостоятельное обучение разработке Андроид приложений. Понятные видеоуроки с разжеванными примерами.

Узнать подробнее
Узнать подробнее
Курс по UI/Unit тестированию

Для ручных тестировщиков, которые готовы осваивать автотесты с использованием актуального стека технологий. [в разработке]

Узнать подробнее
Узнать подробнее
Обучающий Android телеграм бот (с тестами)

Бесплатные теоретические тесты для самопроверки. А также информер на практических спринтах по Android.

Узнать подробнее