アノテーションとは、ソースコードのアノテーション (注釈) を標準化したものです。この機能はJavaの内部的には、アノテーション型 (注釈型) として実装されています。
アノテーション型 (annotation type) は、インターフェイスの特殊な種類であり、interfaceキーワードの前に@文字を付けて指定します。
@interface AnnotationName { String a(); int b(); }
アノテーション型 | 説明 |
---|---|
@Target | アノテーションを適用できるプログラム要素を示す |
@Retention | リテンションポリシーを示す |
@Deprecated | 非推奨であることを示す |
@Documented | ドキュメンテーションコメントを処理させるべきであることを示す |
@Inherited | 継承されることを示す |
@Override | オーバーライドしていることを示す |
@SupressWarnings | コンパイラに警告を無視するように指示する |
@AnnotationName( a = "abc", b = 123 ) public class MyClass { }
オーバーライドしているメソッドに記述します。
class MyClass { void A(){} } class SubClass extends MyClass { @Override void A() {} // OK @Override void B() {} // ERROR : The method B() of type SubClass must override or implement a supertype method }Override (Java Platform SE 7 )
スーパータイプに存在していないメソッドに対して指定すると、エラーとなります。