プログラムの動作に影響を与えないアノテーション(注釈)を付加することができます。アノテーションがコメントと異なるのは、プログラムからアノテーションを読み取って処理したりできる点や、アノテーションがコンパイラの動作に影響を与える点などです。コメントは似ています。アノテーションに置き換えられる可能性もあります。以下のアノテーション型が用意されています。これらを標準アノテーション型といいます。アノテーションは、メソッドにつけることのできるアノテーションです。アノテーションはメソッドがオーバーライドしていることを宣言します。アノテーションの例を示します。アノテーションはアノテーション型名の前に「@」を付けて使用します。ようにコメント中に記載するのではない点に注意してください。アノテーションを付けているとコンパイルエラーとなります。オーバーロード(シグネチャの異なる同名メソッドの定義)でもエラーとなります。オーバーライドしていなければいけません。このことにより、タイプミスなどによるメソッド名や引数の型の間違いを防止することができます。クラスの定義(主要部のみ)は以下のようになっています(アノテーション定義の文法については後で説明します)。アノテーションもメソッドに付けるアノテーションです。そのメソッドの使用が推奨されないことを示します。タグと同じ意味を持ちます。あることが示されます(表現方法は少し異なります)。a(){}}このクラスをコンパイルすると以下のようなメッセージが表示されます。使用またはオーバーライドしています。オプションを指定して再コンパイルしてください。オプションを付けてコンパイルします。定義は以下の通りです。アノテーションは、コンパイラが出す警告を抑制するアノテーションです。メソッドの使用や、タイプセーフでないコレクションの使用などを行うと通常コンパイラは警告を出力しますが、コンパイル時にそれらの警告を抑制することができます。抑止する警告の種別は、アノテーションに文字列配列の引数を渡すことにより個別に指定することができます。どのような種別を処理することができるかはコンパイラの実装に依存します。アノテーションは全く機能しません。定義は以下の通りです。Textを触ってみた。