@Documented @Retention(value=RUNTIME) @Target(value=ANNOTATION_TYPE) public @interface Target
java.lang.annotation.ElementTypeの列挙型定数によってソース・コード内に示されます。 
 @Targetメタ注釈が注釈型Tに存在しない場合は、型Tの注釈を、型パラメータ宣言を除く任意の宣言の修飾子として記述できます。
 
@Targetメタ注釈が存在する場合、コンパイラは、JLS 9.7.4に基づいてElementTypeの列挙型定数で指定された使用制限を強制します。
 
たとえば、この@Targetメタ注釈は、宣言された型自体がメタ注釈型であることを示します。 これは注釈型宣言でのみ使用可能です。 
 
    @Target(ElementType.ANNOTATION_TYPE)
    public @interface MetaAnnotationType {
        ...
    }
 
 この@Targetメタ注釈は、宣言された型の使用目的が複雑な注釈型宣言のメンバー型だけであることを示します。 これは直接的な注釈には使用できません。 
 
    @Target({})
    public @interface MemberType {
        ...
    }
 
 1つのElementType定数が@Target注釈内に複数回表示されるとコンパイル時エラーになります。 たとえば、次の@Targetメタ注釈は不正です。 
 
    @Target({ElementType.FIELD, ElementType.METHOD, ElementType.FIELD})
    public @interface Bogus {
        ...
    }
 | 修飾子と型 | 必須要素 | 説明 | 
|---|---|---|
| ElementType[] | value | 注釈型を適用できる要素の種類の配列を返します。 | 
public abstract ElementType[] value
 バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。 
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved.  Use is subject to license terms.  Documentation Redistribution Policyも参照してください。