独自アノテーションの作成

アノテーションの宣言は @interface キーワードを用います。
また、java.lang.annotation.Annotationを暗黙的に継承する為、別のアノテーション
を継承させるといった使い方はできません。


①メンバを持たないアノテーション

public @interface AnnotationTest { }

②1つのメンバを持つアノテーション

public @interface AnnotationTest {
	String value();
}

特にメンバが1つの場合、valueというメンバを定義します。

③複数のメンバを持つアノテーション

public @interface AnnotationTest {
	int id();
	String[] names();
	String comment() default "no comment."; // デフォルトを指定すると省略できる
	AnnotationTypeEnum type(); // 列挙型
}
public enum AnnotationTypeEnum {
	TYPE_1,
	TYPE_2,
	TYPE_3
}

※.列挙型を指定した例
※.デフォルト値を指定すると省略可能。(デフォルト値の指定には、defaultキーワードを使う。)


また、メソッドの戻り値には、プリミティブ型、String、Class、列挙型、アノテーション
しか指定できないとのこと。