У меня есть один интерфейс в устаревшем проекте, который определяется следующим образом:
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
public @interface Statistic {
String name();
}
Итак, здесь за @interface следуют две аннотации, т.е. (@Retention и @Target). Кто-нибудь может объяснить, как работает этот интерфейс и где его лучше использовать. Я совсем новичок в этом.
Более того, я вижу в коде проекта где-то использование этого интерфейса с аннотацией, как показано ниже:
@Statistic(name="DDB/received") private int docReceived = 0;
Что это на самом деле означает? Может ли кто-нибудь уточнить ясно? Спасибо