Ответ
Аннотации в Java — это форма метаданных, которые добавляют декларативную информацию к классам, методам, полям и другим элементам кода. Они не изменяют семантику программы напрямую, но используются компилятором, инструментами и фреймворками для различных целей.
Основные применения:
- Информация для компилятора — например,
@Overrideпроверяет, что метод действительно переопределяет родительский, а@SuppressWarningsподавляет предупреждения. - Обработка во время выполнения (Runtime) — аннотации доступны через Reflection API (например,
@Deprecated). - Генерация кода и конфигурация — используются фреймворками (Spring, Hibernate) для настройки поведения.
- Документирование — могут быть обработаны инструментами для создания документации.
Пример:
@Override
public String toString() {
return "Переопределённый метод";
}
Здесь @Override — это встроенная аннотация, которая заставляет компилятор проверить сигнатуру метода.