Java Reference
In-Depth Information
3
Annotationen
Annotationen sind Zusatzinformationen, mit denen Klassen, Attribute, Methoden usw. kom-
mentiert werden können. Wie Generics spielen sie für die Erzeugung des Byte-Codes durch
den Compiler keine Rolle; sie können also keinen Einfl uss auf die Byte-Code-Interpretation
durch die Java Virtual Machine (JVM) haben. In dieser Hinsicht sind Annotationen tatsäc h -
lich ähnlich wie Kommentare. Allerdings sind Annotationen Teil der Sprache Java. Im
Gegensatz zu reinen Kommentaren wird deshalb die syntaktische Korrektheit der Annota-
tionen durch den Compiler überprü . Annotationen können so deklariert werden, dass sie
zur Laufzeit über Refl ection ausgelesen und entsprechend interpretiert werden können.
Auch dies ist eine Parallele zu Generics: Sie spielen zwar keine Rolle für den Byte-Code,
aber unter Umstä nden für Refl ection. Man kann Annotationen auch so defi nieren, dass sie
zur Laufzeit nicht mehr sichtbar sind. Solche Annotationen sind für Programme gedacht,
die den Quelltext eines Programms wie Compiler analysieren und basierend darauf z. B.
zusätzlichen Programmcode produzieren.
Im Zusammenhang mit Komponenten-So ware geht es meistens um Annotationen, die zur
Laufzeit noch vorhanden sind. Man kann damit zum Beispiel das Konzept der Dependency
Injection (siehe Abschnitt 3.6) realisieren.
3 .1 Deklaration und Nutzung von
Annotationen
Eine Annotation wird durch das Schlüsselwort @interface ähnlich wie eine Schnittstelle
deklariert:
public @interface Special
{
}
Hat man eine solche Annotation defi niert, kann man sie in seinem Programm zum Beispiel
vor Klassen, Attributen, Konstruktoren, Parametern und Methoden verwenden:
@Special
public class AnnotatedClass
 
Search WWH ::




Custom Search