每個註解類型都隱式繼承java.lang.annotation.Annotation接口。Annotation界面的用途是什麼?
package java.lang.annotation;
public interface Annotation{
boolean equals(Object obj);
int hashCode();
String toString();
Class<? extends Annotation> annotationType();
}
但是,註釋不會從Annotation接口繼承任何元素,它是所有註記類型的隱式祖先。所以,如果我下面做,將導致編譯時錯誤
@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.annotation.Annotation中聲明的任何public或protected方法的簽名相同的簽名,則會出現編譯時錯誤。所以也許這就是這個接口的目的(爲了強制執行) –