Junior — Middle
111
Ի՞նչ տեսակների @Retention նշումներ եք գիտակցում և ինչպե՞ս են դրանք տարբերվում:
Պատասխան AI-ից
sobes.tech AI
В Java аннотация @Retention определяет, как долго аннотация будет сохраняться и доступна в процессе выполнения программы. Существует три основных типа RetentionPolicy:
-
SOURCE — аннотация доступна только в исходном коде и удаляется компилятором. Она не попадает в скомпилированный класс-файл.
-
CLASS — аннотация сохраняется в скомпилированном классе, но не доступна во время выполнения через рефлексию. Это поведение по умолчанию.
-
RUNTIME — аннотация сохраняется в классе и доступна во время выполнения через рефлексию. Используется для аннотаций, которые влияют на поведение программы во время работы.
Пример:
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
String value();
}