Каждый тип аннотации неявно наследует интерфейс java.lang.annotation.Annotation.Какова цель интерфейса аннотаций?
package java.lang.annotation;
public interface Annotation{
boolean equals(Object obj);
int hashCode();
String toString();
Class<? extends Annotation> annotationType();
}
Но аннотация не наследует все элементы из интерфейса аннотаций, который является неявным предком всех типов аннотаций. Так что, если я ниже, приведет к компиляции ошибки времени
@CustomAnnotation(toString="toStringValue")
Может кто-нибудь объяснить мне, то
какова цель интерфейса аннотаций? и для чего именно это ?
Из [JLS (9.6.1)] (https://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.6.1): «Это ошибка времени компиляции, если какой-либо метод, объявленный в типе аннотации, имеет подпись, переопределяющую эквивалентную любому общедоступному или защищенному методу, объявленному в классе Object или в интерфейсе java.lang.nnotation.Annotation. " так что, возможно, это цель этого интерфейса (для обеспечения этого) –