Sie können mit der Annotation @interface eigene Annotationsdefinitionen erstellen.
Vorgehensweise
Verwenden Sie die Annotation @interface, um eigene Annotationsdefinitionen zu definieren. - Annotationsdefinitionen ähneln Schnittstellendefinitionen.
- Annotationsmethodendeklarationen haben weder Parameter noch throws-Klauseln und sie geben eines der folgenden Elemente zurück:
- primitives
- String
- Class
- enum
- ein Array der zuvor genannten Typen
- Methoden können Standardwerte haben.
public @interface CreatedBy{
String name();
String date();
boolean contractor() default false;
}
@CreatedBy(name = "Mary Smith",date="02/02/2008")
public class MyClass{....}
Ergebnisse
Metaannotationen: Metaannotationen (Annotationen für Annotationen)
stellen zusätzliche Informationen darüber bereit, wie eine Annotation verwendet werden kann:
- @Target
- Schränkt die Verwendung einer Annotation ein.
- Einzelne Argumente müssen vom Elementtyp 'Aufzählung' sein.
- {TYPE, FIELD,METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, ANNOTATION_TYPE}
- @Retention
- Gibt an, wo die Annotationsinformationen enthalten sind.
- Einzelne Argumente müssen vom Typ "Enum RetentionPolicy" sein.
- @Documented
- Marker für Annotationen, die nicht in Javadoc eingeschlossen werden sollen.
- @Inherited
- Marke für Typenannotationen, die von Subtypen übernommen werden sollen.
Andere integrierte Annotationen:
- @Overrides
- Wird auf eine Methode angewendet.
- Gibt an, dass der Compiler einen Fehler generiert, wenn die Methode eine Superklassenmethode
nicht tatsächlich überschreibt.
- @Deprecated
- Wird auf eine Methode angewendet.
- Gibt an, dass der Compiler eine Warnung generiert, wenn die Methode extern
verwendet wird.
- @SuppressWarnings
- Wird auf eine Methode angewendet.
- Gibt an, dass der Compiler Warnungen für dieses Element und für alle zugehörigen Unterelemente unterdrückt.
@Deprecated
public void oldMethod() {...}
@SupressWarnings
public void yesIknowIuseDeprecatedMethods() {...}