---
title: '@Target Annotation seit Java 8'
url: 'https://www.tutego.de/blog/javainsel/2013/09/target-annotation-seit-java-8'
markdown: 'https://www.tutego.de/blog/javainsel/2013/09/target-annotation-seit-java-8.md'
date: '2013-09-10'
description: 'Die Meta-Annotation @java.lang.annotation.Target beschreibt, wo eine Annotation angeheftet werden kann. Ist kein ausdrückliches @Target gewählt, gilt es für alle Elemente, die Annotation kann also etwa an Klassen stehen, aber auch an lokalen Variablen. In der Regel gibt es bei @Target ein Element, …'
taxonomy:
  category:
    - Insel
    - 'Java 8'
---

# @Target Annotation seit Java 8

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://www.tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://www.tutego.de/blog/javainsel/)

## @Target Annotation seit Java 8

10.09.2013 · [Christian Ullenboom](https://www.tutego.de/blog/javainsel/author/admin/)

Die Meta-Annotation @java.lang.annotation.Target beschreibt, wo eine Annotation angeheftet werden kann. Ist kein ausdrückliches `@Target` gewählt, gilt es für alle Elemente, die Annotation kann also etwa an Klassen stehen, aber auch an lokalen Variablen. In der Regel gibt es bei `@Target` ein Element, und das ist von der Aufzählung `java.lang.annotation.ElementType`; es deklariert die folgenden Ziele:

ElementType

Erlaubt Annotationen …

ANNOTATION\_TYPE

nur an anderen Annotationstypen, was `@Target`(ANNOTATION\_TYPE) somit zu einer Meta-Annotation macht.

TYPE

an allen Typdeklarationen, also Klassen, Schnittstellen, Annotationstypen, Aufzählungen.

CONSTRUCTOR

an Konstruktor-Deklarationen

METHOD

an Deklarationen von statischen und nicht-statischen Methoden.

FIELD

an Deklarationen von statischen Variablen und Objekt-Variablen.

PARAMETER

an Parametervariablen von Methoden.

LOCAL\_VARIABLE

an lokalen Variablen.

PACKAGE

an package-Deklarationen.

TYPE\_PARAMETER

an der Deklaration einer Typ-Variablen für generische Typ-Parameter. Neu in Java 8. Wenn es etwa heißt class `List`<`@AnAnnotation` T>.

TYPE\_USE

an allen Stellen, wo Typen eingesetzt werden, adressiert also Typ-Annotationen. Ebenfalls neu in Java 8. So etwas wie `@NonNull` (keine Annotation aus der Java SE!) ist ein Beispiel

Tabelle 1.3: ElementType bestimmt Orte, an denen Annotationen erlaubt sind.

Kategorien: [Insel](https://www.tutego.de/blog/javainsel/category/insel/), [Java 8](https://www.tutego.de/blog/javainsel/category/java-8/)

[← Alle Beiträge](https://www.tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Orte für Annotationen](https://www.tutego.de/blog/javainsel/2013/09/orte-fr-annotationen.md)
- Next: [Wiederholbare Annotationen: @Repeatable](https://www.tutego.de/blog/javainsel/2013/09/wiederholbare-annotationen-repeatable.md)
