注釈:注釈。JDK5.0によって導入された新技術
注釈の役割:
①プログラムそのものではなく、プログラムの説明ができます
②他のプログラムでも読める
アノテーション形式: @アノテーション名。さらに、いくつかのパラメータ値を追加できます
//例
@SuppressWarnings(value="unchecked")
注釈はどこで使用できますか?
パッケージ、クラス、メソッド、ファイルなどに添付できます。これは、補助情報を追加するのと同じであり、リフレクションメカニズムを介してこれらのメタデータにプログラムでアクセスできます。
組み込みの注釈:
@オーバーライド | java.lang.Overrideで定義され、メソッドを装飾するために使用されます。これは、メソッド宣言がスーパークラスの別のメソッド宣言をオーバーライドすることを意図していることを示します。 |
@非推奨 | メソッド、プロパティ、クラスを装飾して、プログラマーがそのような要素を使用することを思いとどまらせていることを示します。これは通常、危険であるか、より良い代替手段が存在するためです。 |
@SuppressWarnings | コンパイル時の警告メッセージを抑制するために使用されます。使用するパラメータを追加する必要があります |
@オーバーライド
@非推奨
@SuppressWarnings
使用されていない要素を定義すると、変数は使用されないという警告が表示されます
警告メッセージを抑制するメソッドの前に@SuppressWarnings( "all")を追加します
@SuppressWarningsをクラスの前に追加することもできます
メタ注釈:他の注釈タイプを説明するために使用される、他の注釈に注釈を付ける役割を担うメタ注釈タイプ
@目標 | 注釈の使用範囲を説明するために使用されます |
@保持 | 注釈を説明するために使用される宣言サイクル ソース<クラス<ランタイム |
@書類 | 注釈がjavadocに含まれていることを示します |
@遺伝性の | サブクラスが親クラスからアノテーションを継承できることを示します |
メタアノテーションを定義します。
@Target:アノテーションを使用できる場所を示します
@Retention:アノテーションの期間を定義します。通常はRUNTIMEに設定して、実行時に有効であることを示します。
@Documentは、JAVAdocで注釈を生成するかどうかを示します
@Attachedサブクラスは、親クラスのアノテーションを継承できます
カスタム注釈:
@interfaceカスタムアノテーション。java.lang.annotation.Annotationインターフェースを自動的に継承します。
デフォルト値のパラメーター: