アノテーション
アノテーションとはクラスやメソッドなどに記述キジュツできる注釈チュウシャクです。
「@アノテーションメイ」で記述キジュツします。
出題範囲は以下です。
アノテーションの目的と一般的な使用パターンについて説明する
アノテーションをクラスとメソッドに適用する
よく使用されるJDKのアノテーションについて説明する
カスタム・アノテーションを宣言する
アノテーションの目的と一般的な使用パターンについて説明する
アノテーションの目的モクテキ
アノテーションは目的モクテキによって以下イカかれます。
マーカーアノテーション
メソッドを持たず、それ自体ジタイには機能キノウたないアノテーションです。
オモなアノテーションとして「@Override」や「@Deprecated」などメソッドの有効性ユウコウセイ確認カクニン
コンパイラにタイして実行ジッコウさせるものがあります。
単一タンイツ複数フクスウ)アノテーション
メソッドをヒトつ(または複数フクスウ定義テイギされ、それ自体ジタイ機能キノウつアノテーションです。
「@SuppressWarnings("deprecation")」のようにどの警告ケイコクタイして抑制ヨクセイするかを指定シテイする機能キノウちます。
メタ・アノテーション
アノテーションにタイして、指定シテイ可能カノウ対象タイショウ定義テイギするタメのアノテーションです。
機能キノウとしては単一(複数)アノテーションと同等ドウトウになりますが、アノテーションの制御セイギョ目的モクテキをしています。
アノテーションをクラスとメソッドに適用する
クラスへの適用テキヨウ
クラスにアノテーションを適用テキヨウする場合バアイ、クラス宣言センゲンマエにアノテーションを付与フヨします。
クラスで宣言センゲンしたアノテーションは、クラスナイのすべてに適用テキヨウされます。
メソッドへの適用テキヨウ
メソッドにアノテーションを適用テキヨウする場合バアイ、メソッド宣言センゲンマエにアノテーションを付与フヨします。
宣言センゲンしたメソッドにタイしてのみアノテーションが適用テキヨウされます。
よく使用されるJDKのアノテーションについて説明する
標準ヒョウジュンアノテーション
java.lang配下ハイカフクまれるオモ標準ヒョウジュンアノテーションに以下イカがあります。
主なアノテーション         説明                          
@Override             スーパークラスのメソッドをオーバーライドすることを示す  
@FunctionalInterface         関数型インターフェースであることを示す          
@Deprecated             非推奨の要素であることを示す                
@SuppressWarnings         コンパイラの警告を無効にする                
@SafeVarargs           安全でない可変長引数に対する警告を無視する        
@Override
@FunctionalInterface
@Deprecated
@SuppressWarnings
@SafeVarargs
カスタム・アノテーションを宣言する
カスタム・アノテーションの作成サクセイ
アノテーションは標準ヒョウジュンアノテーションだけでなく、独自ドクジ定義テイギしたアノテーションを作成サクセイすることが出来デキます。
「@interface」で修飾したinterfaceを作成サクセイすることで、アノテーションとして使用することが出来ます。
サンプルプロジェクト
作成サクセイしたプロジェクトはGitHubにて。
https://github.com/koukuma5968/javacontent/tree/main/java11Gold/chapter17