Zusätzlich zur Aufbewahrung gibt es drei weitere Anmerkungen von JDK 5, nämlich das Ziel, erbelt und dokumentiert.
Das Zielziel ist, wo die Ziel -Annotation verwendet wird, die den Zeitpunkt der verwendeten Annotation definiert, dh die Art der Programmelemente, für die die Annotation anwendbar ist. Wenn in der Annotyp -Deklaration keine Ziel -Meta -Annotation vorliegt, kann der deklarierte Typ in jedem Programmelement verwendet werden. Wenn eine solche Metaannotation besteht, erzwingt der Compiler die angegebene Nutzungsgrenze.
Ziel ist wie folgt definiert:
@Documented@retention (retentionPolicy.runtime) @target (elementtype.annotation_type) public @Interface Ziel {elementtype [] value ();}Wie Sie sehen können, hat Target nur ein Wertattribut und sein Typ ist der Enum -Typelement -Elementtyp. Die Elementtype -Erklärung lautet wie folgt:
public enum elementtype { / ** Annotationen können in Klassen, Schnittstellen (einschließlich Annotationstypen) oder Enum -Deklarationen verwendet werden / ** Annotationstyp Deklarationen* / Annotation_type, / ** Paketdeklarationen* / Paket}Dokumentierte Anmerkungen geben an, ob die Annotationsinformationen dem Dokument bei der Erstellung von Javadoc hinzugefügt werden. Wenn die Annotation @Documented bei der Erklärung verwendet, werden die Annotationsinformationen dem Javadoc beim Erstellen des Javadoc hinzugefügt. Die Annotationserklärung lautet wie folgt:
@Dokumented@Retention (value = runTime) @target (value = Annotation_type) // Geben Sie an, dass diese Annotation nur bei der Deklaration der Annotation verwendet werden kann, dh Meta Annotation public @Interface dokumentiert {}Die ererbte Annotation ist ebenfalls eine Meta -Annotation, und die Erklärung lautet wie folgt:
@Documented@retention (value = runTime) @target (value = Annotation_type) public @Interface erbte {}Erbliche Annotationen geben an, ob die Anmerkungen durch Unterklassen vererbt werden und der Standard nicht vererbt wird. Wenn eine Annotation deklariert wird, wird die @Inherited Annotation verwendet, dann wird die Annotation durch eine Unterklasse der Klasse unter Verwendung der Annotation geerbt.