Аннотация (Java)
Java-аннотация — в языке Java специальная форма синтетических метаданных, которая может быть добавлена в исходный код.
Аннотации используются для анализа кода, компиляции или выполнения. Аннотированы могут быть пакеты, классы, методы, переменные и параметры.
В общем виде выглядит как @ + имя аннотации, написанное перед именем переменной, параметра, метода, класса, пакета, либо перед их модификаторами.
Содержание |
Применение[править]
Аннотация выполняет следующие функции:
- дает необходимую информацию для компилятора;
- дает информацию различным инструментам для генерации другого кода, конфигураций и т. д.;
- может использоваться во время работы кода;
Встроенные аннотации[править]
- Аннотации, применяемые к java-коду:
-
- @Override — проверяет, переопределен ли метод. Вызывает предупреждение компиляции, если метод не найден в родительском классе;
- @Deprecated — отмечает, что метод устарел. Вызывает предупреждение компиляции, если метод используется;
- @SuppressWarnings — указывает компилятору подавить предупреждения компиляции, определенные в параметрах аннотации;
- Аннотации, применяемые к другим аннотациям:
-
- @Retention — определяет, как отмеченная аннотация может храниться — в коде, в скомпилированном классе или во время работы кода;
- @Documented — отмечает аннотацию для включения в документацию;
- @Target — отмечает аннотацию как ограничивающую, какие элементы java-аннотации могут быть к ней применены;
- @Inherited — отмечает, что аннотация может быть расширенна подклассами аннотируемого класса;
Пример[править]
public class Animal { public void speak() { } } public class Cat extends Animal { @Override // Аннотация говорящая о том, что этот метод переопределен public void speak() { System.out.println("Meow."); } @Deprecated // Аннотация говорящая о том, что этот метод более не поддерживается и будет удалён в ближайшее время public boolean soundsGood() { return true; } }
История[править]
Первоначально в платформе Java имелся механизм, предваряющий механизм аннотаций — например, модификатор transient или тэг @deprecated. В сентябре 2002 года сообществу Java представлен документ JSR-175, описывающий основные тезисы по аннотациям. Он был утвержден в 2004 году. Аннотации стали доступны в самом языке начиная с версии 1.5 JDK и описаны в JSR-269. В версии 1.6 аннотации были интегрированы в компилятор javac.
Ссылки[править]
- Introduction to Java 5.0 Annotations by Joy Christy
- Of Java Annotations by John Hunt
- An Introduction to Java Annotations by M. M. Islam Chisty
- Introduction to Java 6 Annotations at Sun Developer Network Site
Для улучшения этой статьи желательно?:
|

